电脑抓包 APP 的请求失败

216 天前
 Bo0

场景

电脑使用 Proxyman 或 Charles 抓包手机 招商银行 APP 指定金价页面的网络请求。

APP 页面的金价每隔几秒会更新一次,抓包工具中域名和请求列表中无新增内容。

电脑和手机均安装证书,可在抓包工具中查看到请求的响应信息。

https://imgur.com/a/LmJ6HIM

问题

抓包工具无法抓取所有的网络请求吗,还是因为该 APP 有特殊之处。


望路过大佬不吝赐教,感谢。

1976 次点击
所在节点    程序员
17 条回复
Dora112233
216 天前
因为 app 不信任你自己安装的这个证书
HFX3389
216 天前
Android 7 开始 App 可以不信任用户区自己安装的证书,你得 root 或者用虚拟 root
ma46
216 天前
你 root 之后这些银行 app 大概率就不给你用了
ZnductR0MjHvjRQ3
215 天前
你抓的什么包? http ?还是 HTTPs ? 有没有一种可能他是通过 websocket 来传的
Bo0
215 天前
@Motorola3 HTTPs 的,其他请求都可以解析出来信息,就打开金价页面时无法显示出新增请求,更别提解析了。
Donaldo
215 天前
app 内可能自带一套 ssl 库,用的自己内置的证书,所以你在系统里装证书没有用。关键词 ssl pinning 。
想要抓这种包,必须逆向这个 app 屏蔽掉内置的验证才行,很复杂,也有点刑,尤其是银行 app 。。
Y25tIGxpdmlk
215 天前
银行类的 APP 应该都做了证书绑定吧。
SSL Pinning
kasusa
215 天前
试试用手机上的抓包软件,基本都可以抓。
seers
215 天前
有可能是 native 在 socket 发包
xchaoinfo
215 天前
补充下,除了 SSL Pinning , 还有可能是 APP 内部直接屏蔽代理设置,这样你中间人攻击的抓包完全失效了。
需要 Frida hook 到相关函数来解决。

另外不只是银行类,目前几乎所有的大厂 APP ,抓包都没有那么容易了。
ZnductR0MjHvjRQ3
215 天前
@kasusa 手机上的抓包软件权限不如硬件代理高。。一个是监听 一个是修改你网关,你手机流量全走 pc




@Bo0 不应该抓不到的,不行你用 surge 试试
kuanat
215 天前
这个话题搜 ssl pinning 会有很多信息。

如果抓包的时候 App 看不到相关数据了,这种一般只是简单拒绝走代理,或者拒绝了中间人证书,导致连不上了。如果 App 看到的数据正常,说明有 fallback 机制,多数都是非平台默认的 ssl 实现。

不管哪种方式,常规应对策略基本上是 frida hook 掉类似证书加载、证书验证和代理之类的调用。有比较通用的脚本,支持常见的 ssl 库。

但这样做的前提是应用本身没有混淆,调用的方法名没变过,或者有能力推断出混淆过的名字和地址。混淆一般是通过加壳完成的,除了少数基于 vmp 的方案,大多数都有比较通用的应对思路。

脱壳之后一般还会需要绕过 root/签名检测,拦截客户端异常汇报等等,比起脱壳来说要简单。


非常规的应对策略是类似 eCapture 这种非入侵式的方案,可以绕开证书校验。配合虚拟机效果会更好。
DesignerWang
215 天前
1018ji
215 天前
root 首要,价格也不一定是 http 也可能跟美团一样自建协议通过 ip 地址直接请求
qwerz
215 天前
magisk 安装类似 trust user certs 模块,自动将用户安装的证书移动到系统目录,另外还有证书校验, 找一找 ssl unpinng 之类的模块.如果是 app 自己实现的校验方法,一般用 Frida 去 hook 住.
还有一个基于 ebpf 的抓包工具,无视 ssl,可以试试 https://github.com/gojue/ecapture
Bo0
215 天前
感谢各位大佬的分享,大家的讨论的内容,对我来说逐渐超纲。
我现在换思路,不使用抓包,改用自动化了。因为我最终目的是想在其他设备定期获取 APP 中的黄金价格。
使用快捷指令 APP 定期截屏识别文本,然后筛选出想要的内容发送到 Webhook 机器人,就能推送给其他设备了。
Tamamopoi
215 天前
ROOT 后参考 #13 的教程,丢到系统根证书就行。
小黄鸟啥的抓包都得把证书这样放,安卓 10+后无法直接修改 system 内容,得用 magisk 插件等实现,也不难的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1044346

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX