请问微信 openid 可以伪造吗

2020-09-30 12:25:28 +08:00
 litaomn
有一些二维码活码限制了一个微信只能扫固定某一个二维码,猜测微信访问网页的时候生成一个 openid,这个 openid 跟二维码图片绑定。下次再扫描还是拿到同一张二维码。设想如果通过 hook 方式来伪造 openid 的话,是否可以突破这种限制呢?
14459 次点击
所在节点    Android
34 条回复
ThisQ
2020-09-30 12:30:15 +08:00
我觉得没戏,openid 是服务器针对不同的公众号来生成不同的 id 的,如果给改掉之后应该就找不到对应的关系了。
noe132
2020-09-30 12:31:14 +08:00
理论上同一个用户,不同应用获取到对该用户的 openid 不保证一致
wxsm
2020-09-30 12:31:39 +08:00
一个 openid 是对应一个用户的,wx 通过它能知道你是谁,伪造的 openid 要怎么跟用户对应上呢?
QUIOA
2020-09-30 12:31:55 +08:00
是不是想搞刷赞刷票呀
Rekkles
2020-09-30 12:33:21 +08:00
如果这都可以那腾讯可以倒闭了。
reus
2020-09-30 12:34:33 +08:00
用汗毛想都知道不可以
litaomn
2020-09-30 12:38:49 +08:00
@QUIOA 不是刷票,是想获取活码后台对应所有的二维码,现在只能通过买小号来解决问题,小号价格贵封得快,扛不住啊
kop1989
2020-09-30 12:39:26 +08:00
可以伪造,只要绕过二次跳转获取 code 》拿到 openID 的逻辑即可。

但按照你的描述,“某 openID 只能扫固定的某个二维码”。说明其系统中有 openid 与二维码链接的对应关系验证。也就是说你瞎填一个是不行的。必须得是符合其其他二维码对应关系的 openID 才行。

然后基本上就无解了。因为无感获取其他人的 openID 需要其在其的微信浏览器中获取一次性 code,附加 appid 与 appsecret 才能获取到。第三方技术服务的 appsecret 你是 100%拿不到的。

完结。
zhiyzellda
2020-09-30 12:40:28 +08:00
查了一下什么是 hook,我想说,这个关键要看是微信本地判断或是服务器端判断,服务器判断的话,你没有人家服务器的 root 密码,怎么 hook ?
他可能直接把 openid 传给服务器进行登记。根本不存本地。
litaomn
2020-09-30 12:47:21 +08:00
@kop1989 网页通过 snsapi_base 获取 openid,第三方应该不知道这个 openid 是不是合法的,获取到 openid 后,将 openid 随意改造一下,是否就可以突破呢
kop1989
2020-09-30 12:58:17 +08:00
@litaomn #10 确实可以改造 /替换,就诸如我说的。
但是第一,openID 不连续,第二,根据你的业务描述,openID 与二维码有关联关系。
所以除非暴力穷举所有 openID,否则做不到你说的“拿到所有二维码”这种结果。
kop1989
2020-09-30 12:59:51 +08:00
@litaomn #10 换句话说,其实聊到业务破解,就跟 openID 无关了,你完全可以通过直接爬接口灌参数的方式拿到二维码 。
yushiro
2020-09-30 13:07:31 +08:00
请看微信的文档,只要按照文档来,你是不可能拿到 openid 的,与 web 端无关。
lucifelx
2020-09-30 13:25:12 +08:00
openid 泄露与被伪造都没有任何影响,因为后端是向微信服务索要的 openid,只要客户端换取 accesstoken 的过程能保证安全,那么后端取到的 openid 必然是正确的。(大概这个意思,有段时间不做 wx 开发了)
litaomn
2020-09-30 13:36:03 +08:00
感谢各位大佬解答,死了这条心了
d5
2020-09-30 13:59:56 +08:00
openid 无法伪造,但是有些场景分析包,可以提供仿冒的 openid
KingPL
2020-09-30 14:24:20 +08:00
正常 只是 code 传到后台,后台校验拿到 openid 再返回一个 sessionId 到前端完成绑定,openid 不会放到前端...
keepeye
2020-09-30 14:30:48 +08:00
不行
masker
2020-09-30 14:41:53 +08:00
哇!那微信钱包的钱不也可以自己加 0 了?
linuxvalue
2020-09-30 15:46:43 +08:00
想多了

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

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

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

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

© 2021 V2EX