元旦这几天,差点被一个app给弄自闭了,本来想着它的同类app都so easy就搞定了,就按照固定流程开始抓包,但是这次抓包经历,却让我大开眼界了。。试了多种抓包操作,都失败了,用网上的教程弄,很多教程也只是简单的复制粘贴,关键性步骤没有给出来,导致只能自己摸索。正好借着这个机会,整理一下关于app抓包的相关知识,希望让能看到的未来大佬们少走弯路,同时也提醒自己编程这条路,是永远没终点的。永远都需要多思考,多尝试,多失败,最终才能找到合适的解决方案。
这篇文章是关于抓包的一些原理性的知识点的介绍和接下来的文章的目录,了解了原理,才能更好地去伪存真从而找到核心问题,以后解决问题也更容易触类旁通。
iOS/安卓APP抓包教程(一)——使用fiddler抓包:
该方法可以应对市面上80%的app,只要没对app使用代理和证书进行限制,基本上都可以成功抓包。
核心思想是:修改手机系统的网络代理,让默认使用手机系统代理的APP的流量,通过代理到电脑端的fiddler软件。
只要不对app进行专门的代理设置和证书设置就能抓,这类APP基本上就是属于裸奔的情况。
如果fiddler没数据,但是app又能正常使用,大概率是没使用系统默认代理,那就需要下面的方法进行抓包尝试。
iOS/安卓APP抓包教程(二)——使用drony配合fiddler抓包
这个方法专门用于处理设置了手机不使用系统代理的APP,但是没对证书进行额外校验 。
这类APP属于是有一定的防抓包安全意识,但不多。
通过一个VPN软件,将APP的流量直接导走到fiddler就行。(如果不想修改系统代理,也不想抓到其他的app的请求,也可以在第一步用这个方法进行抓包,免去了每次都需要设置的尴尬情况)
如果app报错或者无法使用了,那大概率遇到了顶级大佬了:内置证书!
安卓APP抓包教程(三)——使用frida破解flutter APP证书检测抓包
这个是抓包的终极解决方案了
对于某付宝也有抓包成功的案例,所以应对普通的应用,基本上是无往不利的。
这类app强悍的地方在于,不仅没使用系统的代理,还内置了https证书,不相信任何除了内置证书以外的证书。
我们当然没办法拿到内置证书的私钥
那就只能想办法,让它验证证书的时候,不管是不是他的证书,都无条件选择信任。
这个方法使用的时候,如果不是flutter的app,那就需要对二进制有一定的研究才能准确hook到想要hook的函数。
网友评论