首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coding
V2EX  ›  问与答

charles 抓一个 https 证书已经过期的网站的包

  •  
  •   coder1 · 155 天前 via iPhone · 864 次点击
    这是一个创建于 155 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目标网站证书已经过期,使用 charles 抓包二次签名的证书也是过期的自签名证书。由于需要在一个不可控的 app 内调试,所以必须保证 https 有效。目标网站也不可控,在不修改系统时间的情况下有办法解决这个问题吗
    10 回复  |  直到 2019-07-14 13:33:02 +08:00
        1
    coder1   155 天前 via iPhone
    charles 的自签名有效期好像是和原证书一样
        2
    billwsy   155 天前 via iPhone
    目标网站不可控,app 不可控,这样 Charles 应该是用不了的吧?要是可以 MITM 的话那不就是破解了 HTTPS 了?
        3
    also24   155 天前 via Android
    手机上信任根证书这一步没问题的话。

    自己加一层反代不就好啦?
        4
    coder1   155 天前 via iPhone
    @also24 用 Charles 加了中间人,但他签名出来的证书也是过期的
        5
    coder1   155 天前 via iPhone
    app 不可控是说不能改源码,其他都可以
        6
    also24   155 天前
    @coder1 #4
    额,没听明白我的意思嘛?

    假设你要抓 a.com 的东西。

    找个地方搭个 nginx,server name a.com ,反代到 a.com ,同时自己给 a.com 签个假证书放上去搞好 https (根证书丢手机里信任一下)

    然后抓包机器上把 a.com hosts 到 nginx 那台机的 ip 上(似乎 Charles 可以直接做到?)

    此时,Charles 看到的原始证书,其实已经是你 nginx 上的未过期的 “假证书” 了。
        7
    also24   155 天前
    手头没有 Charles 不太清楚证书过期后 Charles 的行为,假设是一楼所说的有效期一致的话,这样做应该是没问题的。

    另外刚才说错一个地方,根证书应该是丢 Charles 所在机器来信任,而不是手机。
        8
    coder1   155 天前 via iPhone
    @also24 好主意,谢谢
        9
    likaci   155 天前
    中间人攻击的话 手机上收到的证书应该就是 chls 的, 应该是 chls 配置有问题. https 抓包没有添加对应域名?
    或者 app 做了 ssl pinning?

    如果只是证书过期了, 改系统时间试试
        10
    coder1   154 天前 via iPhone
    @likaci 只是证书过期,证书是 charles 签名的。但其他组件依赖正确时间
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4447 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 02:32 · PVG 10:32 · LAX 18:32 · JFK 21:32
    ♥ Do have faith in what you're doing.