在做移动应用(APP,小程序等)测试时,需要关注应用安全性。
ZAP是可以用来进行手机移动应用渗透性测试扫描的。
正因为ZAP是采用“中间代理”的形式,截取并扫描所有客户端与服务器的交互请求,作为客户端之一种的移动端应用当然也在其范围之内。
更多ZAP代理原理和设置请翻阅安全性测试:OWASP ZAP 2.8 使用指南(三):ZAP代理设置
需求
-
安装于PC端的OWASP ZAP客户端
- 手机模拟器/真机
安卓设置
我们将移动APP的形式分为两种情况:
被测APP不使用HTTP协议,安卓机器已被root,请使用ProxyDoid
被测APP使用HTTP协议,或者是手机网站,请使用默认安卓代理
使用ProxyDroid
ProxyDroid是安卓的一个免费开源软件。
ProxyDroid包含了一系列代理工具和防火墙等,可以轻松实现对于APP交互信息的导向。
使用ProxyDroid需要取得手机root权限。
- 打开ProxyDroid
- 修改代理为OWASP ZAP代理的IP
- 启用代理开关
- 赋予root权限
-
确保手机wifi和ZAP代理处于同一局域网内
- 进入手机“设置-无线和网络-WLAN”
- 选中已连接的wifi选择“修改网络”
- 勾选“显示高级选项”
- 选择代理方式为“手动”
- 填入ZAP地址和端口
配置好代理后,移动应用上的所有出入信息都将被ZAP截获,在截获的同时ZAP将实施“被动扫描”,将他们初扫一遍。
由于许多APP可能有鉴权操作(小程序由于微信的openid存在又要更受限),所以ZAP的两种爬虫:默认爬虫和Ajax爬虫都不是特别给力。
推荐连上ZAP代理以后,再对被测程序进行手动访问,所有页面将被ZAP记录,待主要页面访问完毕后再使用“主动扫描”即可。