前言
为了保证网络传输内容的安全性,在Android、iOS上开发的APP程序通常会开启SSL Pinning(称为“安全会话绑定”或“证书绑定”)。APP允许使用自签名的CA来构建HTTPS通信网络。在所有的通信过程中,对SSL通信证书合法性的验证由KeyStore提供的API来完成,在分析第三方APK的通信流量过程中,SSL Pinning是摆在分析员面前的第一座堡垒。Xposed、sslkillswitch插件的流行,使得绕过SSL Pinning不再是难事。
在对APP进行抓取流量时发现APP提示网络异常,猜测该APP使用了SSL Pinning。
提前了解小知识:
1.查看ipa的文件MD5方法
cmd打开运行:
cd /d ipa的文件位置
certutil -hashfile xxxx.ipa MD5
\2. 查看ipa的包名方法
将ipa当着压缩文件,进行解压,再解压后的Payload的文件下的文件内找到Info.plist,用爱思助手打开,查找关键字:CFBundleIdentifier,下面的string标签内就是包名
绕过流程
第一:
修改mac 的默认python配置为python3
手机和电脑usb连接。
which python3
修改配置文件
alias python="which python 打印出来的路径"
运行python,显示python3版本则成功
python
升级python3 的pip版本
python -m pip install --upgrade pip
安装objection(如下图片的警示信息可忽略)
python -m pip install objection
继续运行命令:(目的:将objection进程加载到待检测抓包的app程序内)
objection -g ipa的包名 explore
提示无法连接frida server服务
解释:objection是基于Frida开发开发的并且功能强大、命令众多,而且不用写一行代码,便可实现诸如内存搜索、类和模块搜索、方法 Hook 打印参数返回值调用栈等。
「解决办法:先安装ios客户端,再安装Frida」
首先 在ios设备上安装cydia,启动cydia然后点击软件源(「Manage」),再点击编辑(edit),再点击添加(add)将「https://build.frida.re」这个代码仓库加入进去,成功后,在cydia内点击搜索,搜索:Frida安装包,进行安装,即可。
' fill='%23FFFFFF'%3E%3Crect x='249' y='126' width='1' height='1'%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)
继续运行:
objection -g ipa的包名 explore
运行上个命令后同时将会进入objection终端,在objection终端继续执行命令:
ios sslpinning disable
绕过成功: