discuz破解插件(查看Discuz论坛付费隐藏内容)

概述Discuz是一个通用的社区论坛软件系统。最近看到一个Discuz逻辑漏洞,该漏洞源于Discuz微信登陆功能。Discuz3.4默认安装了微信登陆。利用这个漏洞攻击者可以越权登陆论坛其他会员的

概述

Discuz是一个通用的社区论坛软件系统。最近看到一个Discuz逻辑漏洞,该漏洞源于Discuz微信登陆功能。Discuz 3.4默认安装了微信登陆。利用这个漏洞攻击者可以越权登陆论坛其他会员的账号甚至是管理员账号,主要还得看脸。

原理

首先看了下作者的描述,“如果有用户点了一下绑定微信,但是并没有绑定” 这句话说的很模糊,开始没有明白什么意思。然后跟进代码看了一下。

discuz破解插件(查看Discuz论坛付费隐藏内容)

漏洞源码位于
/upload/source/plugin/wechat/wechat.inc.php文件中。在226-246行:

discuz破解插件(查看Discuz论坛付费隐藏内容)

主要看下代码的逻辑:

第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参数。

discuz破解插件(查看Discuz论坛付费隐藏内容)

其实这个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的数据。

discuz破解插件(查看Discuz论坛付费隐藏内容)

根据以上两个洞,可以遍历并且登陆所有openid为空的账户。先登录第一个openid为空的账号->然后解绑->再登陆之后即为第二个openid为空的用户……,脸好的话是可以登陆admin的。

discuz破解插件(查看Discuz论坛付费隐藏内容)

payload

解除指定uid绑定的微信:/plugin.php?id=wechat:wechat&ac=unbindmp&uid={uid}&hash={formhash}

登陆第一个openid为空的账号:/plugin.php?id=wechat:wechat&ac=wxregister

修复

在最新版本中作者删除了这段代码。下载最新版即可。

discuz破解插件(查看Discuz论坛付费隐藏内容)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/65590.html

(0)
nan
上一篇 2021-12-15
下一篇 2021-12-15

相关推荐

  • centos7安装图形化界面命令(centos7安装教程详细)

    CentOS是基于RedHatEnterpriseLinux的源代码再编译出来的免费版,因此不仅继承RHEL优越的稳定性,还提供免费更新,因此在服务器提供商、中小型公司中装机量几乎是最大的Linux发行版,现在已正式加入红帽公司。从事互联网技术

    2021-09-28 随笔
    0
  • 手机字体怎么改变(微信字体大小怎么改)

    方法如下:打开→点击右下角“我的”→然后点击“设置”→点开“关怀模式”即可。同时,与手机上“设置”同步起来:打开设置→点开“显示”→“字体大小和粗细选择,这样点开看其它APP内容的字体也会放大了。宝骏31质量怎么样(宝骏31二手车报价一万左右)说起小型车,天天拍车脑海里首先想到的就是大众Polo…

    2021-12-19
    0
  • 一直喝水还是口渴嘴干(为什么越喝水越渴)

    春天天气干燥,非常容易引起体内的缺水,使人口干舌燥的想要喝水。但是,如果明明已经喝了很多水,还是觉得口干舌燥想喝水,那可能就是由于某些疾病导致的。普通的口渴多见于饮水不足,是体内缺水导致的,我们只要及…

    2021-12-01 用户投稿
    0
  • 个人委托书模板怎么写(亲属代理委托书范本)

    一、当事人是个人的,特别授权授权委托书模板。授权委托书委托人:XXX,X年X月X日出生,身份证号:xxxxxxxxxxxxxx,汉族,住XXX市XXX区X栋X号,联系电话xxxxxxx。受托人:YYY,X年X月X日出生,身份证号:xxxxxxxxx

    2021-12-31
    0
  • 银行的工作时间(银行的工作岗位有哪些)

    银行的工作时间?银行的工作岗位有哪些,久久派带你了解相关信息。看网点,看任务量,看领导,看同事,看上班方式,看为人处世。十八线农商行员工一枚。四年半乡镇网点柜台工作经验,现已转岗后台。第一次回答问题,这个问题我真的是太有发言权了。银行工作痛苦不痛苦,跟很多因素有关系。同一家银行不同网点,同一个网点不同的岗位,同样的岗位不同的人,痛苦程度都是不一样的。看网点。一看网点效益,但

    2021-12-24
    0
  • 哪里有鞋子批发的货源(鞋子批发货源地址有哪些)

    哪里有鞋子批发的货源?鞋子批发货源地址有哪些,久久派带你了解相关信息。有的人不知道我国最大的成人鞋子.童鞋批发市场和生产基地在哪?在中国,可以说鞋类生产基地可以分为三大生产基地,广州、福建、浙江,浙江温州可以说是我国最大的鞋市,每年从那里销往全国各地乃至世界各地的鞋子简直是不计其数。正因为温州的成人鞋子.童鞋批发市场太大了。一是清楚自己想要进的鞋子是什么样的,不要去了这后才去寻找,那么

    2021-11-17
    0

发表回复

登录后才能评论