电脑抓包 APP 的请求失败 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Bo0
V2EX    程序员

电脑抓包 APP 的请求失败

  •  
  •   Bo0 2024-05-27 15:19:37 +08:00 2789 次点击
    这是一个创建于 502 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景

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

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

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

    https://imgur.com/a/LmJ6HIM

    问题

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


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

    17 条回复    2024-05-28 16:50:01 +08:00
    Dora112233
        1
    Dora112233  
       2024-05-27 15:22:22 +08:00   1
    因为 app 不信任你自己安装的这个证书
    HFX3389
        2
    HFX3389  
       2024-05-27 15:25:41 +08:00   1
    Android 7 开始 App 可以不信任用户区自己安装的证书,你得 root 或者用虚拟 root
    ma46
        3
    ma46  
       2024-05-27 15:46:45 +08:00   1
    你 root 之后这些银行 app 大概率就不给你用了
    ZnductR0MjHvjRQ3
        4
    ZnductR0MjHvjRQ3  
       2024-05-27 17:53:06 +08:00   1
    你抓的什么包? http ?还是 HTTPs ? 有没有一种可能他是通过 websocket 来传的
    Bo0
        5
    Bo0  
    OP
       2024-05-27 18:10:00 +08:00
    @Motorola3 HTTPs 的,其他请求都可以解析出来信息,就打开金价页面时无法显示出新增请求,更别提解析了。
    Donaldo
        6
    Donaldo  
       2024-05-27 18:30:42 +08:00   1
    app 内可能自带一套 ssl 库,用的自己内置的证书,所以你在系统里装证书没有用。关键词 ssl pinning 。
    想要抓这种包,必须逆向这个 app 屏蔽掉内置的验证才行,很复杂,也有点刑,尤其是银行 app 。。
    Y25tIGxpdmlk
        7
    Y25tIGxpdmlk  
       2024-05-27 18:40:54 +08:00   1
    银行类的 APP 应该都做了证书绑定吧。
    SSL Pinning
    kasusa
        8
    kasusa  
       2024-05-27 19:01:55 +08:00   1
    试试用手机上的抓包软件,基本都可以抓。
    seers
        9
    seers  
       2024-05-27 19:20:29 +08:00 via iPhone   1
    有可能是 native 在 socket 发包
    xchaoinfo
        10
    xchaoinfo  
       2024-05-28 09:13:46 +08:00   1
    补充下,除了 SSL Pinning , 还有可能是 APP 内部直接屏蔽代理设置,这样你中间人攻击的抓包完全失效了。
    需要 Frida hook 到相关函数来解决。

    另外不只是银行类,目前几乎所有的大厂 APP ,抓包都没有那么容易了。
    ZnductR0MjHvjRQ3
        11
    ZnductR0MjHvjRQ3  
       2024-05-28 09:58:36 +08:00   1
    @kasusa 手机上的抓包软件权限不如硬件代理高。。一个是监听 一个是修改你网关,你手机流量全走 pc




    @Bo0 不应该抓不到的,不行你用 surge 试试
    kuanat
        12
    kuanat  
       2024-05-28 11:07:00 +08:00   1
    这个话题搜 ssl pinning 会有很多信息。

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

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

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

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


    非常规的应对策略是类似 eCapture 这种非入侵式的方案,可以绕开证书校验。配合虚拟机效果会更好。
    DesignerWang
        13
    DesignerWang  
       2024-05-28 11:12:15 +08:00   1
    1018ji
        14
    1018ji  
       2024-05-28 11:39:07 +08:00   1
    root 首要,价格也不一定是 http 也可能跟美团一样自建协议通过 ip 地址直接请求
    qwerz
        15
    qwerz  
       2024-05-28 13:30:04 +08:00   1
    magisk 安装类似 trust user certs 模块,自动将用户安装的证书移动到系统目录,另外还有证书校验, 找一找 ssl unpinng 之类的模块.如果是 app 自己实现的校验方法,一般用 Frida 去 hook 住.
    还有一个基于 ebpf 的抓包工具,无视 ssl,可以试试 https://github.com/gojue/ecapture
    Bo0
        16
    Bo0  
    OP
       2024-05-28 15:05:20 +08:00
    感谢各位大佬的分享,大家的讨论的内容,对我来说逐渐超纲。
    我现在换思路,不使用抓包,改用自动化了。因为我最终目的是想在其他设备定期获取 APP 中的黄金价格。
    使用快捷指令 APP 定期截屏识别文本,然后筛选出想要的内容发送到 Webhook 机器人,就能推送给其他设备了。
    Tamamopoi
        17
    Tamamopoi  
       2024-05-28 16:50:01 +08:00   1
    ROOT 后参考 #13 的教程,丢到系统根证书就行。
    小黄鸟啥的抓包都得把证书这样放,安卓 10+后无法直接修改 system 内容,得用 magisk 插件等实现,也不难的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2541 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 01:58 PVG 09:58 LAX 18:58 JFK 21:58
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86