Discuz! X任意文件删除分析报告

2019-02-26 08:01:26 织梦安装使用
  • 文章介绍
360CERT 360CERT

0x00 背景介绍



Discuz 官方于2017年9月29号在Git上提交更新:优化 加强安全性。360CERT跟进了此更新并确认存在任意文件删除漏洞。


0x01 漏洞描述



此漏洞曾在2014年被提交到乌云Wooyun平台,Discuz进行了针对性修复。但360CERT通过此次commit分析,由于之前的修复不完全,可导致补丁被bypass,攻击者登录后可以通过设置个人资料为删除文件路径,并构造一次文件上传,就可以绕过补丁造成任意文件删除。


0x02 漏洞攻击影响



影响面

普通注册用户即可实现任意文件删除。经过360CERT研判后确认,漏洞风险等级高。


影响版本

Discuz! X3.4

Discuz! X3.3

Discuz! X3.2

Discuz! X2.5


修复版本

码云平台Discuz!X 

commit 7d603a197c2717ef1d7e9ba654cf72aa42d3e574


0x03 漏洞详情



1、技术细节

可以看到在14年修复的打的补丁:

$_G[cache][profilesetting][$key][formtype]== file对formtype类型做了验证。

查看昨日commit,一共删除了五处unlink文件删除函数,其中对228行unlink函数做的限制最少。


在spacecp_profile.php里有文件上传处理函数,其中使用$upload->get_image_info($attach[target])

对上传文件进行检查,如果不是图片则continue跳过,所以需要上传为图片类型。

删除文件名为$space[$key],也没有进行安全处理


只需要在前一次提交数据对参数进行进行保存,比如真实姓名处填写删除文件名../../../robots.txt,数据库中的realname就会被保存为../../../robots.txt,再次请求上传文件,就会触发并删除文件.


0x04 修复建议



按照官方Git更新,彻底删除spacecp_profile.php下unlink处代码


0x05 时间线



2017-09-29 Discuz官方更新

2017-09-30 360CERT完成后续报告


0x06 参考文档



http://www.discuz.net

https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

乌云编号:wooyun-2014-065513


长按下方二维码关注360CERT!谢谢你的关注!

网站地址:https://cert.360.cn

注:360CERT官方网站提供《Discuz! X任意文件删除分析报告》完整PDF下载,点击Read more


    阅读原文

    发送中

    阅读原文

    上一篇: 看了这8个PS抠图方法,我奶奶都会..

    下一篇: Discuz X3.3补丁安全分析

    相关文档推荐

    精品模板推荐

     2020-07-29   18166  0金币下载

     2020-07-27   65338  0金币下载

     2020-07-27   65333  0金币下载

     2020-06-22   57995  0金币下载

     2020-06-13   62585  0金币下载

     2020-06-13   62587  0金币下载

    专业的织梦模板定制下载站,在线购买后即可下载!

    商业源码

    跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

    立刻开启你的建站之旅
    
    QQ在线客服

    服务热线

    织梦建站咨询