V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
FaiChou
V2EX  ›  程序员

除了 SSL Pinning, 还有什么方法能防止抓包?

  •  
  •   FaiChou · 14 天前 · 2067 次点击

    SSL Pinning 技术可以有效阻止 MitM 攻击. 如果使用 MitM 方式抓取使用了 SSL Pinning 的请求, 所有请求都会断开, 不能正常完成请求.

    但我今天想抓去某 app(iOS 下, 第三方微博客户端)的请求, 打开任意抓包攻击, 抓包工具一干二净, 一点请求都没有. 使用的抓包工具有 HTTP Catcher, Thor, Charles等都无效, 而且所有请求都能在 app 里正常完成.

    所以它是如何实现的? 以及还有哪些方法可以防止抓包?

    16 条回复    2020-11-22 03:31:23 +08:00
    caesar223334
        1
    caesar223334   14 天前
    内置个 VPN [doge]
    yaphets666
        2
    yaphets666   14 天前
    请求走的不是 HTTP 协议
    FaiChou
        3
    FaiChou   14 天前
    @yaphets666 #2 应用层常用的就是 HTTP/HTTPS 协议吧? 一个第三方微博客户端(vvebo)难道还要自建通信协议(server/client)去来防范抓包吗? 我在学习研究.. 本身也是 VVebo 的 pro 用户, 本想将微博的热搜列表加一个过滤功能(使用⭕️X 的脚本功能)
    yaphets666
        4
    yaphets666   14 天前
    @FaiChou 你在 v2 搜搜抓包的帖子 我记得有人说过
    knightdf
        5
    knightdf   14 天前
    我倒是想知道 APP 请求的签名算法咋解
    weixiangzhe
        6
    weixiangzhe   14 天前
    app 里可以不走 http 代理的吧,银行类支付宝 微信都不走 http 代理
    learningman
        7
    learningman   14 天前 via Android
    http 代理本来就是尊重,又不是强制。。。
    yushiro
        8
    yushiro   14 天前 via iPhone
    ios 的 NE 框架,有 3 种模式,具体本站你可以搜一下,曾经有个作者来推广过。
    https://www.v2ex.com/t/715477#reply47
    by73
        9
    by73   14 天前
    感觉多数都是 SSL Pinning,导致抓包工具不是没用,只是单纯的解不出 TLS 协议。iOS 不太清楚,Android 现在已经有 User CA 了,开发者可以选择只信任某些证书,而不是所有系统根下的;当然可以强行使用旧版 Android 来绕过这个限制,不过也只是临时方案。

    当然 Android 如果有 root 权限,可以借助 xposed 来拦截部分用 JSSE 的应用,之类的 = =
    FaiChou
        10
    FaiChou   14 天前   ❤️ 1
    刚下载体验了下, 果然能抓到 app, 我再用其他的抓包, 就抓不到. 有空研究下.
    https://tva1.sinaimg.cn/large/0081Kckwly1gkw0jkpsy8j30z60u01ip.jpg
    FaiChou
        11
    FaiChou   14 天前   ❤️ 1
    刚下载体验了下 https://www.v2ex.com/t/715477#reply48 可以抓包
    DoctorCat
        12
    DoctorCat   14 天前
    自定义协议,使用二进制压缩编码传输。抓到也无法简单的分析出来,只能苦心逆向 APP
    levelworm
        13
    levelworm   14 天前
    同问如何规避 SSL Pinning,是不是只能反编译然后修改函数。。。
    learningman
        14
    learningman   14 天前 via Android   ❤️ 1
    @levelworm 自己维护一个 CA 包,自己实现部分的 SSL 校验
    galenzhao
        15
    galenzhao   13 天前   ❤️ 1
    @levelworm frida ssl pinning
    cheng6563
        16
    cheng6563   13 天前 via Android
    用客户端证书,让服务端验证。客户端证书是可以自签的。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1158 人在线   最高记录 5298   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:42 · PVG 03:42 · LAX 11:42 · JFK 14:42
    ♥ Do have faith in what you're doing.