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

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

  •  
  •   FaiChou ·
    FaiChou · 2020-11-20 16:49:57 +08:00 · 4974 次点击
    这是一个创建于 1473 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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