发现一个小小的漏洞

- 8年前

最近想用openid查询用户所在分组,根据分组来决定内容是否显示,想借助机器人现成的函数,研究了几天发现:
1、图文回复的链接加入了openid,在访问这样的链接时会将openid记录到cookie中。
2、我利用weixin-user-profile.php做测试,由于微信浏览器缓存不好更新,我将weixin-user-profile.php中is_weixin()是否是在微信中访问那段去掉后在电脑的浏览器中测试www.abc.com/?weixin_user&profile,理所当然由于获取不到openid而无法显示页面。
3、于是从微信公从号回复的图文中复制一个链接到电脑的浏览器中打开一次,此时openid被记录到cookie中,再次访问www.abc.com/?weixin_user&profile就可以获取到openid而显示页面了。

于是发现一个小小的漏洞:
如果把图文分享给别人了,别人便可以轻松用上面的方法进入www.abc.com/?weixin_user&profile页。
同理,如果我想基于openid查询用户所在分组,根据分组来决定内容是否显示也就轻松破解了!
不知在最小改动的情况下,有什么办法堵上这个漏洞没?
谢谢!

4条回复

Denis | 邓鸿华
Denis | 邓鸿华 - 8年前

呵呵,这不是漏洞!这是操作的问题,你的 openid 泄露的问题!

- 8年前

难免会有或别人会有转发图文链接的情况啊,要是有人别有用心,获得了设置的可见权限大的人转发的链接,就可以以他的身份查看内容,这我设权限就失效了!
我想把链接中的openid加密,存cookie时解密后存入,这样可能改的地方比较少,但机器人的代码还是比较复杂的,考虑的情况很多,担心要改的地方多,改出各种麻烦……

- 8年前

哦,加密也没用,反正通过cookie获得了权限……

- 8年前

哦,加密也没用,反正通过cookie获得了权限……

我要回复

暂时不支持网页回复,请安装