客户端校验

1.什么是客户端校验

SSL PINNING是Google官方推荐的校验方式,原理是在客户端(安卓APP)中预先设置好证书信息,握手时与服务端返回的证书进行比较。

如果有这种客户端校验,那么charles等抓包工具,就无法抓包了。因为charles作为中间人返回给客户端的证书信息与原客户端预先设置的不一致,所以,客户端检测到,就拒绝发送请求了。

2.如何过客户端校验

想要解决客户端的校验,本质上就是通过Hook的机制将原本校验的位置替换成自定义逻辑(直接不校验)。

2.1frida hook脚本

rida中提供了常见网络库相关绕过客户端校验的Hook脚本,例如:

/* * This script combines, fixes & extends a long list of other scripts, most notably including: *
* - https://codeshare.frida.re/@akabe1/frida-multiple-unpinning/
* - https://codeshare.frida.re/@avltree9798/universal-android-ssl-pinning-bypass/
* - https://pastebin.com/TVJD63uM
*/
Run with:

frida -U -f [APP_ID] -l frida_multiple_unpinning.js      重启app
frida -UF -l frida_multiple_unpinning.js                           不重启

2.2JuTruststMe

本质上是xposed的Hook脚本,只不过可以打包安装在手机直接运行。

  • 安装 Magisk 面具(手机root)

  • 在面具中刷入 LSPosed框架

  • 安装 JustTrustMe

  • 在LSPosed框架中配置并启动 JustTrustMe

posted @ 2023-08-18 12:29  小青年て  阅读(19)  评论(0编辑  收藏  举报