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

2023-07-12 12:17:31 +08:00
 tool2d
楼下有一家超市,偶尔有商品优惠,我就在思考能不能写个代码,定期获取优惠通知。

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

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

遇到两个坑,DNS 有时候没生效,手机会走自己预设 DNS 服务器(换个路由器就好了,搞不懂)。后面一个是微信对自签名的时效性有要求,我默认签名了 40 年,被微信拒绝了。改成 1 年就好了。
2298 次点击
所在节点    微信
8 条回复
NoOneNoBody
2023-07-12 12:51:58 +08:00
这个……如果某个共享 wifi 搞相同手法的话是啥情况?在外只用数据?
老子微信慎言了,尽量静默
tool2d
2023-07-12 12:57:16 +08:00
@NoOneNoBody 共享 wifi 有抢答 DNS 的可能性,但一般微信都会验证 https 签名有效性,小程序不用 ssl 似乎也没办法上架,总体来说还是安全的。
just1
2023-07-12 12:58:00 +08:00
如果手机是安卓的话上面这些步骤可以直接用一个应用叫 httpCanary 完成,利用手机 VPN 功能实现
chotow
2023-07-12 13:02:20 +08:00
@NoOneNoBody #1 楼主这种就是 MITM ,需要在用户端导入中间人的自签证书才行;现在基本都用 HTTPS 了,只要不随便信任未知来源的证书就没事。
AreYou0k
2023-07-12 13:15:30 +08:00
超市一般都有优惠通知群吧, 没有建议他们搞一个把你拉进去
NoOneNoBody
2023-07-12 13:15:59 +08:00
@chotow #4
@tool2d #2
明白了,简单点说就是手机端也要做控制才能实现这个链条的操作
cat
2023-07-12 14:02:41 +08:00
@AreYou0k 如果没有应该楼主搞一个,人多了就可以自己在群里做广告了
wushuang5112
2023-10-30 00:57:27 +08:00
手机里导入自签名 ROOT 证书 这一步行不通吧?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/956112

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX