安全测试扫描利器-Burpsuite

前阵子有学员在尝试使用appscan对公司app做被动式扫描时出现一些问题,发现无法即使导入了appscan的证书也无法抓到https的包。推荐他使用burpsuite后,成功抓到了https的包并且也完成了他的扫描工作。
首先带大家了解什么叫被动扫描。被动扫描和主动扫描是一对,平时你输入一个url让工具进行爬取或扫描的这种扫描方式,叫做主动扫描,所有待扫描的链接全是工具主动爬取所得,那么自然主动扫描的结果其实有一部分取决于工具爬取的能力;与主动扫描不同的是,被动扫描的必要条件是一个代理,可供使用者将客户端的所有流量代理到工具上,被动扫描的结果取决于使用者在使用客户端时产生的流量,也就是发起过的请求,而不取决于工具主动爬取的能力。市面上商用的主动扫描的工具不少,商用的被动扫描器并没有多少,最出名就是burpsuite和appscan。


了解完被动扫描之后,其实只需要做好一点就行,那就是把所有的流量代理到burpsuite即可,那么下一个问题是,如何能够让app所有流量代理过去
首先,允许设备所在网络能够把流量代理到burpsuite上,那么就要先配置好burpsuite的监听地址。如果情况特殊,无法找到局域网ip,那可以选择all interfaces也可以(主要原因可能是在burpsuite启动后才分配到网卡ip,所以导致代码读取不到ip,不过完全不影响操作)。


配置好burpsuite后,把拦截器关闭,观察HTTP History。


接下来说下android上如何设置尽量使用root过的真机或是模拟器来进行安全测试。第一步当然是保证网络通畅,将无线网络代理设置成burpsuite监听的地址(我这里是192.168.1.3:8080),


并通过浏览器访问到页面(http://ip:port或者http://burp,后者能生效的原因是因为代理过程中可以劫持所有的dns所以官方绑定了这么一个域名)点击右上角下载证书,修改文件后缀成cer,设置中一些安全选项或其他选项中进行安装证书,接下来就可以抓爆了。


接下来再介绍下如何抓到iOS的包。这里以手头上在用的iOS13.3为例。和Android一样,需要和burpsuite监听地址在同一个局域网内,并且保证网络通畅,设置wifi的代理为burpsuite的监听地址。使用safari打开burpsuite的页面下载证书并点击安装,


点击允许后,回到设置最上面可以看到描述文件,一路点击安装确认即可:


证书在设置-通用-描述文件与设备管理中可以查看,点击进去选择完全信任。接下来就可以试下访问百度,再看burpsuite抓到的是否有iphoneUA的https百度包:


到这就成功的在burpsuite上抓到了设备上所有app的大部分的包,这里不谈论app双向加密,因为会涉及到一部分逆向和脱壳。
这之后,被动扫描的结果就可以看到了。所有可以扫描的漏洞类型都在scanner-issue definition可以看到,不过还是友情提示下,扫描器并不能解决所有问题,世界上暂时没有一款扫描器能够扫描出业务逻辑漏洞,所以尽量还是手动抓包进行渗透测试。

作  者:Testfan Covan
出  处:微信公众号:自动化软件测试平台
版权说明:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接
原文地址:https://www.cnblogs.com/testfan2019/p/12400764.html