APP抓包大全

一. 抓包注意细节

1、确定手机信任了证书,而且证书是放在系统目录

2、确认手机时间是当前时间

3、移动证书到根目录用magisk的move certificates模块挺方便

二. 抓包几种方法

1、手机设置代理burp正常抓包

2、手机转发流量,burp设置透明代理抓包

3、linux下共享无线,流量转发,mitm抓包

4、httpcanary在手机上抓包

5、frida通杀脚本抓包

6、电脑共享无线,wireshark抓包

7、逆向分析代码,拦截打印数据包经过的函数

8、定制frida通杀脚本,针对特殊app

三. 抓包经验

1、先用httpcanary抓,摸一下情况,httpcarya可以抓到tcp,udp的包,以防应用用tcp,udp传输,其他工具没抓到,而且burp,frida等工具配置还是比较麻烦

2、httpcanary抓过之后就能看出来应用是否有证书校验,是否有代理检测,好不好抓包

3、有证书校验上frida过证书校验的脚本

4、如果有代理检测,逆向分析hook掉或者burp透明代理上,透明代理更快

5、burp透明代理抓不到,在linux上用mitm抓,其实原理一样,但是这两工具响应速度上有差别,两个结合用以防配置出错或者有的请求响应时间短出问题

6、burp,mitm抓不到,用frida抓包通杀脚本,然后用wireshark分析,wireshark看http的包还是容易看的

7、frida通杀脚本拦截不到,应该就是应用自定义ssl发包了,在应用核心逻辑所在的so搜函数ssl_read,ssl_write,如果有,基本肯定是自定义ssl,定制frida通杀脚本,将脚本里面的“libssl”修改成应用核心so的名字,然后再拦截

8、如果应用核心逻辑所在的so没有ssl_read,ssl_write函数,就用记事本等工具搜索整个应用目录文件,搜ssl_read,ssl_write这两词,它可能调用的其他so执行的,然后frida通杀脚本“libssl”修改成对应so的名字

9、有的应用里面能搜到ssl_read,ssl_write,但是函数名有差别,比如有的用的是“ mbed_sslread”

10、如果还抓不到,换ios平台抓包,ios相对安卓来说确实证书校验少点

11、如果还抓不到,逆向分析,比如unity框架的,找发送包的函数拦截

12、建议先换各种工具抓,最后逆向分析,逆向分析还是比较费劲

13、证书校验如果frida脚本绕不过,ddms跟踪下,看checkServerTrust这类函数是否有调用,再逆向分析hook掉。如果证书强校验在so,目前见过的在so发包的就libssl.so的函数或者mbedssl里的东西,找到对应函数,阅读ssl框架或者mbedssl框架源码,知道它是怎么校验证书的,然后so里找到对应函数hook掉

14、关注log,log中有时会提示证书校验错误

15、针对Cronet的抓包,看引用链接,关键点还在于对特殊的发包框架做特殊修改

16、针对flutter应用的抓包,看本星球前期文章“Flutter应用逆向抓包”,它关键在于设置全局代理,避免不走系统代理,自定义端口等一些特殊情况

17、针对微信小程序的抓包,降低微信版本是个好选择

18、针对抓wss的情况,用charles开socket5抓

19、针对tcp、udp的情况,本人目前碰到的比较少,只是用wireshark硬看,没高效更好分析的方式

四. 总结

以上的抓包顺序、hook框架、抓包工具随意组合,灵活发挥,引用别的工具配合也可以。

引用文献:

[1] https://bbs.kanxue.com/thread-277996.htm

猜你喜欢

转载自blog.csdn.net/u010671061/article/details/132616508
今日推荐