2核1G3M服务器88一季度

腾讯云,阿里云百度云等 折扣价→点我←

低于Discuz!X3.4版本以下附件免积分越权下载漏洞原理及修复方案 discuz 教程

游客1 游客组

本帖最后由 民审-M 于 2017-8-9 09:29 编辑

低于Discuz!X3.4版本以下附件免积分下载漏洞原理及修复方案:

Discuz! 的一个附件越权下载漏洞(顺便可以免积分),当时也有不少利用工具出现。今天看到一位高手(ID: 快乐的小2B)发布了一个新版的免积分工具(感谢作者发布及朋友告知),测试下来发现确实可以使用,带着好奇分析了下具体实现原理。
重现
1、附件URL形如:forum.php?mod=attachment&aid=****%3D%3D
2、以游客访问附件URL(隐身模式,不带cookies),跳转到了该URL:forum.php?mod=misc&action=attachcredit&aid=693540&formhash=22ae3c59
http://coxxs.me/wp-content/uploads/2016/07/QQ%E6%88%AA%E5%9B%BE20160706155215.png
3、上图箭头处所指的链接,即为下载URL,游客访问无法下载。但使用已登录的账号,访问该下载URL,即可免积分直接下载。
4、经过测试,本漏洞可以通过遍历第2步中的aid,越权查看内部板块的以及收费的附件的文件名,但不可以越权下载。对积分体系会有一定危害,对网站安全危害不大。
分析&修复
漏洞利用方式主要是第二步中,对游客也返回了下载URL,同时对游客无法扣费,造成了免积分。
Discuz! X 附件机制这样设计(各种key)应该也是有原因的,深入可能比较复杂。这里暂时提供一个临时修复方案,即不对游客访问返回下载URL即可。
修复方案如下:
文件:source/module/forum/forum_misc.php
查找(约第29行)
if($_GET['formhash'] != FORMHASH) {


替换为
if($_GET['formhash'] != FORMHASH || !$_G['uid']) {


即可修复该问题。

站长窝论坛版权声明 1、本帖标题:低于Discuz!X3.4版本以下附件免积分越权下载漏洞原理及修复方案
2、论坛网址:站长窝论坛
3、站长窝论坛的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
4、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
5、站长窝论坛一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本帖由游客1在站长窝论坛《程序综合区》版块原创发布, 转载请注明出处!
评论
最新回复 (0)
返回
发新帖