在app的安全分析过程中,我们需要检测app的网络接口是否包含有web安全漏洞、或者常见逻辑漏洞等。因此需要捕获app的http、https数据包,从而进行分析。这篇文章主要介绍使用Fiddler捕获app的http、https数据包进行分析。并且介绍有时我们需要分析国外相关app的接口时,如何与科学上网设置相结合,捕获国外相关app的http、https数据包。
一、Fiddler安装与配置
-
下载Fiddler OS X版本,可以从以下链接下载(或者在公众号回复“Fiddler mac版”获取云盘下载链接),如下图所示
https://www.telerik.com/download/fiddler-everywhere
-
安装Fiddler,双击下载的dmg文件,一路agree,最后将Fiddler复制到Applications中,如下图所示
-
配置Fiddler,connections设置代理端口及允许远程连接,https中勾选 decrypt https traffic ,设置完以后记得点击右边的保存(save changes),如下图所示
二、移动设备配置
-
ios设备配置
通过命令 ifconfig 在终端查看准备使用Fiddler进行抓包的电脑IP,如下图所示
在iOS设备中,连接Wi-Fi,在HTTP代理中配置代理,IP设置为上面查看到的IP,端口设置为刚刚在Fiddler中设置的代理端口,如下图所示
在iOS设备中,打开浏览器,输入IP:代理端口,下载、安装Fiddler证书,如下图所示
下载完,Fiddler证书后,则在设置->通用->描述文件与设备管理 中安装下载好的Fiddler证书,如下图所示
安装完Fiddler证书后,需要在 设置->通用->关于本机->拉到最底下 证书信任设置 ->信任相应的证书,如下图所示
设置完上面所有步骤后,则可以在浏览器中输入任意地址进行访问,即可在Fiddler中查看到其相应的http、https数据包,如下图所示
为了抓取国外app的http、https数据包,则我们需要先设置科学上网,科学上网如何设置,这里不介绍,感兴趣的小伙伴可以去网上浏览相关内容学习。设置完科学上网后,则需要在Fiddler中设置gateway,代理方式则填写科学上网设置的http、https代理,如下图所示
设置完gateway后,则可以抓取国外地址相应的http、https数据包,如下图所示
2.Android设备配置
查看准备使用Fiddler进行抓包的电脑IP,使用方法与上面iOS设备配置的一样
在android设备中,连接Wi-Fi,长按所连接的Wi-Fi后,在修改网络->高级选项->代理 中设置相应的IP及代理端口,如下图所示
设置完,以后点击保存。打开浏览器,输入IP:代理端口,下载、安装Fiddler证书,如下图所示
安装完Fiddler证书后,即可打开浏览器输入任意地址,测试是否能够在Fiddler中捕获到其对应的数据包,如下图所示
当然,也可以在Android设备中抓取国外app相应的http、https数据包,如下图所示
三、绕过ssl证书校验
1.如果我们需要检测的app存在对ssl证书进行校验时,则需要在移动设备通过安装常见的ssl证书检测绕过插件,这样才能抓取到https数据包。
iOS ssl证书校验绕过常用插件为ssl-kill-switch2,地址如下所示
https://github.com/nabla-c0d3/ssl-kill-switch2.git
Android ssl证书校验绕过常用插件为JustTrustMe,地址如下图所示
https://github.com/Fuzion24/JustTrustMe.git
上面地址如果下载慢,也可以在公众号回复“ssl-kill-switch2” 及 “JustTrustMe” 下载相应插件。