frida+objection绕过SSL Pinning
绕过单向认证又多了一种尝试方式呢
环境:
夜神模拟器 Android7 32位
burpsuite
前提:
已经在模拟器上配置了网络,并下载了证书。

在burp上面设置了同样地址和端口的代理:

配置代理+安装burp证书,只能满足于一部分的app截获数据包。但是对于大部分app而言,要通过其他方式绕过。
这里采用frida+objection绕过app的ssl证书校验。当app采用单向认证时,可以使用此种方式尝试绕过。即客户端对服务器的证书进行了校验,而burp不能充当中间人的角色,拦截不到数据包,这里要做的就是在客户端关闭这个认证。
(1)单项认证-客户端校验服务端的证书。
(2)双向认证-客户端和服务器双向认证。不仅客户端要校验服务端的证书,也会在 app 内放一张证书,服务端会校验客户端里的证书。
1、下载frida-server
1 | 下载地址:https://github.com/frida/frida/releases |
2、启动frida-server服务
将frida-server用adb复制到模拟器的/data/local/tmp目录下:
1 | adb push 本地frida-server路径 /data/local/tmp |
然后赋予最高权限:
1 | chmod 777 文件名 |

最后使用如下命令,开启Frida server服务:
1 | ./文件名 |

3、在本机安装frida和objection
1 | 在python3的环境下安装: |
4、查看包名
在本机上使用如下命令验证frida安装成功,顺便查看需要测试的包名
1 | frida-ps -U |

5、启动objection
保证Frida server开启后,在cmd中输入:
1 | objection -g 程序包名 explore |

6、绕过APP的SSL Pinning
1 | android sslpinning disable |
成功绕过:

注意成功之后,当退出应用即结束本次会话再进来,则可能又会抓取不到数据包。所以要重新进入程序时,结束之前的运行窗口,重新启动objection。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 echozt!