1. 问题说明
在做 Android APP 渗透测试的时候遇到一个问题,就是我们使用 BurpSuite 对 APP 进行抓包时,APP 一直显示网络请求失败,不能进行正常的操作,BurpSuite 也抓不到数据包,但是不挂代理进行正常访问又可以。一开始以为是 https 的证书问题,就把 BurpSuite 的证书重装了一遍,发现问题仍然存在,但是我抓取浏览器和其他的 APP 程序就能正常抓到数据包,猜测应该是有 SSL Pinning 验证。
2. 突破 SSL Pinning
2.1 SSL Pinning
SSL Pinning 又叫 SSL 证书绑定,客户端在收到服务端的证书之后,对该证书进行强校验,验证该证书是否为客户端承认的证书,如果不是,则直接断开连接。也就造成了之前我遇到挂代理后显示网络请求失败,但是遇到这种办法并不全都是因为这个原因。
2.2 解决办法
针对 Android 的 App 绕过 SSL Pinning 这里使用 Xposed 框架加上 JustTrustMe 插件。Xposed 框架可以在一些应用商城中(这里我用的百度应用商城)找到,或者直接去官网下载。
下载完后安装 Xposed 框架。
安装好后重启测试机即可。
安装 JustTrustMe。
进入 Xposed 框架中勾选模块。
重启后打开 Xposed 框架对 APP 再次抓包,成功抓取到数据包。