场景介绍:APP抓包
引出的知识点:ssl-pinning。
ssl-pinning:
apk在开发时就将服务端证书一块打包到客户端里。这样在HTTPS建立时与服务端返回的证书比对一致性,进而识别出中间人攻击后直接在客户端侧中止连接。
解决原理:
客户端不是会做两个证书间的一次性校验吗,那么就通过hook的方式将此次校验的结果返回true或者干脆不让其做校验。当然这种做法只能在越狱环境下实现,但对于抓包来说,这已经足够了。
方案:
Xposed+JustTrustMe+Android模拟器
步骤:
环境基于夜神安卓模拟器
1. 安装Xposed框架
安装apk后,框架>安装/更新,安装过程需要root权限,完成后重启
2. 安装JustTrustMe.apk
3. 打开Xposed模块选项勾选JustTrustMe
4.配置wifi代理即可
至此,可以开心的抓包了。
困难二:
爬虫签名sign,基本规则都是组装字符串,然后md5加密
分为网页版和app版,
网页版解决方案寻找js代码找到加密规则,
app端则反编译得到源码,源码阅读难度其实不大逻辑大多相似,反而反编译加固的app步骤较为繁琐。