返回列表 发新帖
查看: 6615|回复: 0

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

[复制链接]

1万

热度

1万

元宝

1万

贡献

金牌草根

发表于 2017-8-9 09:28:04 | 显示全部楼层 |阅读模式
本帖最后由 民审-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
3、上图箭头处所指的链接,即为下载URL,游客访问无法下载。但使用已登录的账号,访问该下载URL,即可免积分直接下载。
4、经过测试,本漏洞可以通过遍历第2步中的aid,越权查看内部板块的以及收费的附件的文件名,但不可以越权下载。对积分体系会有一定危害,对网站安全危害不大。
分析&修复
漏洞利用方式主要是第二步中,对游客也返回了下载URL,同时对游客无法扣费,造成了免积分。
Discuz! X 附件机制这样设计(各种key)应该也是有原因的,深入可能比较复杂。这里暂时提供一个临时修复方案,即不对游客访问返回下载URL即可。
修复方案如下:
文件:source/module/forum/forum_misc.php
查找(约第29行)
  1. if($_GET['formhash'] != FORMHASH) {
复制代码


替换为
  1. if($_GET['formhash'] != FORMHASH || !$_G['uid']) {
复制代码


即可修复该问题。

本文来源于网友学习研究交流 www.caogen8.co,请以学习研究交流为主。
如果您没有贡献积分,可以直接免费领取,免费领取
如果你需要加入本学习研究交流,请以学习研究交流为目的,免责声明
如果找不到您要的资源,请搜索一下,点击搜索
返回列表 发新帖
 懒得打字嘛,点击右侧快捷回复【最新发布】   【赞助草根吧享更多权益】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

收藏帖子 返回列表 搜索

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

小黑屋|手机版|草根吧