discuz3.4出现越权登陆漏洞,漏洞分析

discuz3.4出现越权登陆漏洞,漏洞分析

安全漏洞hacker2019-07-18 21:32:3814093A+A-

简述

  Discuz是1个通用性的app系统软件。近期见到1个Discuz逻辑性系统漏洞,该系统漏洞来源于Discuz微信登录作用。Discuz 3.4默认设置装上微信登录。运用这一系统漏洞网络攻击可以滥用权力登录社区论坛别的vip会员的账户乃至是管理人员账户,关键还得看腿。

discuz3.4出现越权登陆漏洞,漏洞分析 第1张

  基本原理

  最先看过下创作者的叙述,“假如有客户点了一下下关联手机微信,可是并沒有关联” 这话说的很模糊不清,刚开始沒有搞清楚啥意思。随后跟踪编码看过一下下。

discuz3.4出现越权登陆漏洞,漏洞分析 第2张

  系统漏洞源代码坐落于/upload/source/plugin/wechat/wechat.inc.Python文档中。在226-246行:

  关键看看编码的逻辑性:

discuz3.4出现越权登陆漏洞,漏洞分析 第3张

  第231行:从common_member_wechatmp表查寻相匹配openid的第一个結果,这儿openid可以由客户操纵。

  $mpmember = C::t(#wechat#common_member_wechatmp)->fetch_By_openid($wxopenid ? $wxopenid : $_set[wxopenid]);

  下边是fetch_By_openid涵数。

  232行:从common表格中取下相匹配uid的全部結果,array_keys($mpmember)回到的是上一步查寻统计数据的uid值。

discuz3.4出现越权登陆漏洞,漏洞分析 第4张

  $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主要参数。

  我觉得这一Payload仅仅登录了openid为空的第一位客户。openid为空的状况现阶段发觉根据/plugin.Python?Id=wechat:wechat&ac=wxregister&username={name}这类方法可以使openid为空,但申请注册的是1个新的账户。

  依据创作者常说 “假如有客户点了一下下关联手机微信,可是并沒有关联,会载入common_member_wechatmp”,这儿“并沒有关联”的含意就是说关联不成功,openid为空,但创作者应用的哪种关联方式说的很模糊不清。

  下一个是滥用权力消除特定uid关联的手机微信。一样在webchat.inc.Python,分辨csrftoken恰当后,删掉common_member_wechatmp表格中相匹配uid的统计数据。

  依据左右2个洞,可以遍历而且登录全部openid为空的帐户。先登陆第一位openid为空的账户->随后解绑->再登录以后即是下一个openid为空的客户……,脸好得话是可以登录admin的。

  payload

  消除特定uid关联的手机微信:/plugin.Python?Id=wechat:wechat&ac=unbindmp&uid={uid}&hash={formhash}

  登录第一位openid为空的账户:/plugin.Python?Id=wechat:wechat&ac=wxregister

  修补

  在最新版中创作者删掉了这些编码。下载最新版只能。

  参照

  htpp://gitee.Com/ComsenzDiszuz/DiscuzX/issue/IPRUI

  文中由白帽汇原創,转截请标明来源于:htpp://nosec.org/home/detail/2256.html语言

  白帽汇从业网络信息安全,致力于安全性互联网大数据、公司威协谍报。

  企业商品:FOFA-网络空间安全百度搜索引擎、FOEYE-网络环境检索系统、NOSEC-安全性信息服务平台。

  为您带来:网络环境测绘工程、公司财产搜集、公司威协谍报、应急响应服务项目。


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 3条评论
  • 余安夙世2022-05-28 20:42:22
  • uid的客户统计数据,将该客户设定为登陆情况。  $memberfirst = array_shift($mpmembers);  $member = getuserbyuid($memberfirst[uid], 1);  if($member) {  setloginstatu
  • 假欢掩吻2022-05-28 20:45:25
  • hatmp)->fetch_By_openid($wxopenid ? $wxopenid : $_set[wxopenid]);  下边是fetch_By_openid涵数。  232行:从common表格中取下相匹配uid的全部結果,array_keys($mpme
  • 惑心忿咬2022-05-28 23:20:31
  • 简述  Discuz是1个通用性的app系统软件。近期见到1个Discuz逻辑性系统漏洞,该系统漏洞来源于Discuz微信登录作用。Discuz 3.4默认设置装上微信登录。运用这一系统漏洞网络攻击可以滥用权力登录社区论坛别的vip会员的账户乃至是管理人员账户,关键还

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理