discuz, 越权, 登陆, 漏洞, 分析
本帖最后由 吴大大 于 2020-3-6 18:09 编辑 Discuz论坛建站程序系统 3.4 越权登陆漏洞分析 概述 Discuz论坛建站程序系统是一个通用的社区论坛建站网站程序软件系统。最近看到一个Discuz论坛建站程序系统逻辑漏洞,该漏洞源于Discuz论坛建站程序系统微信登陆功能。Discuz论坛建站程序系统 3.4默认网站安装了微信登陆。利用这个漏洞攻击者可以越权登陆论坛建站网站程序其他会员的账号甚至是管理员账号,主要还得看脸。 原理首先看了下作者的描述,“如果有用户点了一下绑定微信,但是并没有绑定” 这句话说的很模糊,开始没有明白什么意思。然后跟进具体代码如下看了一下。
图片126.png 名站网址导航提供 名站网址导航 2020-3-6 17:51 名站分类目录 漏洞源码位于/upload/source/plugin/wechat/wechat.inc.php文件中。在226-246行:
图片123.png 名站网址导航提供 名站网址导航 2020-3-6 15:12 名站分类目录 主要看下具体代码如下的逻辑: 第231行:从common_member_wechatmp表查询对应openid的第一条结果,这里openid可以由用户控制。 $mpmember = C::t('#wechat#common_member_wechatmp')->fetch_by_openid($wxopenid ? $wxopenid : $_GET['wxopenid']);下面是fetch_by_openid函数。 232行:从common表中取出对应uid的所有结果,array_keys($mpmember)返回的是上一步查询数据的uid值。 $mpmembers = C::t('common_member')->fetch_all(array_keys($mpmember));234-237行: 取上一步的第一条数据,然后从common_member_archive表里取出对应uid的用户数据,将该用户设置为登录状态。 $memberfirst = array_shift($mpmembers);$member = getuserbyuid($memberfirst['uid'], 1);if($member) { setloginstatus($member, 1296000);根据上述逻辑,也就是说只要知道用户的openid就能登陆用户的账号。看了下微信接口文档,这个openid是唯一的,并且只有用户授权了之后,公众号才可以获取。这里显然得不到openid。 在作者的payload中没有看到openid参数。
1.png 名站网址导航提供 名站网址导航 2020-3-6 15:12 名站分类目录 其实这个Payload只是登陆了openid为空的第一个用户。openid为空的情况目前发现通过/plugin.php?id=wechat:wechat&ac=wxregister&username={name}这种方式可以使openid为空,但注册的是一个新的账号。 根据作者所说 “如果有用户点了一下绑定微信,但是并没有绑定,会写入common_member_wechatmp”,这里“并没有绑定”的意思就是绑定失败,openid为空,但作者使用的何种绑定具体的方法说的很模糊。 第二个是越权解除指定uid绑定的微信。同样在webchat.inc.php,判断csrftoken正确后,删除common_member_wechatmp表中对应uid的数据。
图片124.png 名站网址导航提供 名站网址导航 2020-3-6 15:12 名站分类目录 根据以上两个洞,可以遍历并且登陆所有openid为空的账户。先登录第一个openid为空的账号->然后解绑->再登陆之后即为第二个openid为空的用户……,脸好的话是可以登陆admin的。
k6biz8.gif 名站网址导航提供 名站网址导航 2020-3-6 15:12 名站分类目录 payload 解除指定uid绑定的微信:/plugin.php?id=wechat:wechat&ac=unbindmp&uid={uid}&hash={formhash} 登陆第一个openid为空的账号:/plugin.php?id=wechat:wechat&ac=wxregister 修复在最新版本中作者删除了这段具体代码如下。下载最新版即可。
图片125.png 名站网址导航提供 名站网址导航 2020-3-6 15:12 名站分类目录 参考 https://gitee.com/ComsenzDiszuz/Discuz论坛建站程序系统X/issue/IPRUI 经团队初步测试该漏洞危害还是很大,新版的dz论坛建站网站程序系统已经修复该漏洞,建议大驾升级或自行修复该漏洞。 提供漏洞来源:https://nosec.org/home/detail/2256.html |
为什么要做外链建设?seo优化与发布外链速度有哪些联系?