对某城APP抓包分析--过SSL证书校验

一、

背景:某8APP具体房源楼层号,具体的楼层号被(高中低)代替,看不了楼层太不方便了!!!

1、环境:

pc:fidder、安卓模拟器安卓4.0系统(避免7.0等高版本系统的安全规则)

安卓模拟器安装fidder证书并将wifi代理至fidder:8888端口(或使用proxifier转发至fidder端口)

2、抓包

(1)模拟器中安装某8App,开启Fidder后发现二手房源列表直接断网,推测开启了SSL证书校验;

                                        

(2)在模拟器中刷入Xposed框架,并编译最新版Just Trust Me刷入,发现还是断网,推测源代码被混淆,因为Just Trust Me是HOOK源代码中OKHttp3下的Check(X509certificate ....)方法进行强制校验为true的,若方法名被更改,会导致JTM模块不起作用;

                                                    

(3)jadx直接反编译apk,看到有证书:

                                                     

(3.1)但发现check方法并没有被混淆,JTM模块失效的原因未知:

           

(4)将apk后缀名改为zip直接解压,搜索 .cer文件:

(5)将Fidder的证书分别转换为cer,crt,pem格式并重命名为该apk下的证书名称,替换该解压包内的证书;

(6)压缩,后缀名改为apk,丢入模拟器;

3、验证

发现该App所有的https请求都被fidder捕获且是明文,且在https的接口中发现了隐藏的数据。

二、

1、去掉JTM后,抓包还是断网,可见JTM起作用了,可能是hook了别的API,比如verify

参考:https://blog.csdn.net/tangsilian/article/details/86612470

2、 参考思路:

https://zhuanlan.zhihu.com/p/63028507

三、参考文章:

除JTM外的抓包方案:

https://blog.csdn.net/CharlesSimonyi/article/details/90493122

https://blog.csdn.net/CharlesSimonyi/article/details/90518367

原文地址:https://www.cnblogs.com/Zdelta/p/14122325.html