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

破解超市微信小程序的 https 内容笔记。

  •  
  •   tool2d · 2023-07-12 12:17:31 +08:00 · 2221 次点击
    这是一个创建于 492 天前的主题,其中的信息可能已经有所发展或是发生改变。
    楼下有一家超市,偶尔有商品优惠,我就在思考能不能写个代码,定期获取优惠通知。

    这个超市只有微信小程序,第一步就是把超市官方 API 域名转发到我的电脑上。在手机上设置静态 IP ,在 DNS 这栏,填入电脑的 IP ,然后在电脑上启动一个 53 端口的 DNS 服务,拦截官方域名到本地电脑 IP 。

    这时,微信小程序的流量就全部转发到电脑上了。进行第二步操作,手机里导入自签名 ROOT 证书。电脑上对 HTTPS 域名进行动态自签名。本地建立一个 443 端口的 HTTPS 服务,进行 SSL 代理流量转发后,这时候就能看见 API 明文了,一般来说都是 POST 方法+JSON 结构。写一个自动化就搞定了。

    遇到两个坑,DNS 有时候没生效,手机会走自己预设 DNS 服务器(换个路由器就好了,搞不懂)。后面一个是微信对自签名的时效性有要求,我默认签名了 40 年,被微信拒绝了。改成 1 年就好了。
    8 条回复    2023-10-30 00:57:27 +08:00
    NoOneNoBody
        1
    NoOneNoBody  
       2023-07-12 12:51:58 +08:00
    这个……如果某个共享 wifi 搞相同手法的话是啥情况?在外只用数据?
    老子微信慎言了,尽量静默
    tool2d
        2
    tool2d  
    OP
       2023-07-12 12:57:16 +08:00
    @NoOneNoBody 共享 wifi 有抢答 DNS 的可能性,但一般微信都会验证 https 签名有效性,小程序不用 ssl 似乎也没办法上架,总体来说还是安全的。
    just1
        3
    just1  
       2023-07-12 12:58:00 +08:00
    如果手机是安卓的话上面这些步骤可以直接用一个应用叫 httpCanary 完成,利用手机 VPN 功能实现
    chotow
        4
    chotow  
       2023-07-12 13:02:20 +08:00
    @NoOneNoBody #1 楼主这种就是 MITM ,需要在用户端导入中间人的自签证书才行;现在基本都用 HTTPS 了,只要不随便信任未知来源的证书就没事。
    AreYou0k
        5
    AreYou0k  
       2023-07-12 13:15:30 +08:00
    超市一般都有优惠通知群吧, 没有建议他们搞一个把你拉进去
    NoOneNoBody
        6
    NoOneNoBody  
       2023-07-12 13:15:59 +08:00
    @chotow #4
    @tool2d #2
    明白了,简单点说就是手机端也要做控制才能实现这个链条的操作
    cat
        7
    cat  
       2023-07-12 14:02:41 +08:00
    @AreYou0k 如果没有应该楼主搞一个,人多了就可以自己在群里做广告了
    wushuang5112
        8
    wushuang5112  
       2023-10-30 00:57:27 +08:00
    手机里导入自签名 ROOT 证书 这一步行不通吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5364 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 07:30 · PVG 15:30 · LAX 23:30 · JFK 02:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.