专栏首页Seebug漏洞平台Discuz!X 3.4 任意文件删除漏洞分析

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

作者:LoRexxar'@知道创宇404实验室 日期:2017年9月30日

0x01 简 述

Discuz!X 社区软件,是一个采用 PHP 和 MySQL 等其他多种数据库构建的性能优异、功能全面、安全稳定的社区论坛平台。

2017年9月29日,Discuz!修复了一个安全问题用于加强安全性,这个漏洞会导致前台用户可以导致任意删除文件漏洞。

2017年9月29日,知道创宇404实验室开始应急,经过知道创宇404实验室分析确认,该漏洞于2014年6月被提交到 Wooyun漏洞平台,Seebug漏洞平台收录了该漏洞,漏洞编号 ssvid-93588。该漏洞通过配置属性值,导致任意文件删除。

经过分析确认,原有的利用方式已经被修复,添加了对属性的 formtype 判断,但修复方式不完全导致可以绕过,通过模拟文件上传可以进入其他 unlink 条件,实现任意文件删除漏洞。

0x02 复 现

登陆DZ前台账户并在当前目录下新建 test.txt 用于测试

请求

home.php?mod=spacecp&ac=profile&op=base POST birthprovince=../../../test.txt&profilesubmit=1&formhash=b644603b 其中formhash为用户hash

修改成功之后出生地就会变为../../../test.txt

构造请求向 home.php?mod=spacecp&ac=profile&op=base 上传文件(普通图片即可)

请求后文件被删除

0x03 漏 洞 分 析

Discuz!X 的码云已经更新修复了该漏洞(https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574)

核心问题在 upload/source/include/spacecp/spacecp_profile.php

跟入代码70行

if(submitcheck('profilesubmit')) {

当提交 profilesubmit 时进入判断,跟入177行

我们发现如果满足配置文件中某个 formtype 的类型为 file,我们就可以进入判断逻辑,这里我们尝试把配置输出出来看看

我们发现 formtype 字段和条件不符,这里代码的逻辑已经走不进去了

我们接着看这次修复的改动,可以发现228行再次引入语句 unlink

@unlink(getglobal('setting/attachdir').'./profile/'.$space[$key]);

回溯进入条件

当上传文件并上传成功,即可进入 unlink 语句

然后回溯变量 $space[$key] ,不难发现这就是用户的个人设置。

只要找到一个可以控制的变量即可,这里选择了 birthprovince。

在设置页面直接提交就可以绕过字段内容的限制了。

成功实现了任意文件删除

0x04 说 在 最 后

在更新了代码改动之后,通过跟踪漏洞点逻辑,我们逐渐发现,该漏洞点在 2014 年被白帽子提交到 Wooyun平台上,漏洞编号wooyun-2014-065513。

由于DZ的旧版代码更新流程不完整,已经没办法找到对应的补丁了,回溯到 2013 年的 DZ3 版本中,我们发现了旧的漏洞代码

在白帽子提出漏洞,可以通过设置个人设置来控制本来不可控制的变量,并提出了其中一种利用方式。

厂商仅对于白帽子的攻击 poc 进行了相应的修复,导致几年后漏洞再次爆出,dz 才彻底删除了这部分代码...

期间厂商对于安全问题的解决态度值得反思...

相 关 链 接

[1] Discuz!官网 http://www.discuz.net

[2] Discuz!更新补丁 https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

[3] Seebug漏洞平台收录地址 https://www.seebug.org/vuldb/ssvid-93588

知道创宇404实验室出品

往 期 热 门

本文分享自微信公众号 - Seebug漏洞平台(seebug_org),作者:404实验室

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Seebug漏洞平台2016年度报告

    目录 一、概述 二、漏洞详情等信息以及漏洞验证程序(PoC)收录状况 2.1 漏洞验证程序(PoC)数量统计分析 2.2 收录漏洞的危害等级分布统计分析 2.3...

    Seebug漏洞平台
  • Sebug 大牛支招之我是如何在Sebug中杀入前10的?

    大家好我是koshell,ID:k0sh1, 在之前的文章中我分享了在web漏洞挖掘中的一些小技巧,这里要补充一下。 注入其实只是众多web入侵手段中的一种,脱...

    Seebug漏洞平台
  • GPON Home Gateway 远程命令执行漏洞分析

    2018/04/30,vpnMentor公布了 GPON 路由器的高危漏洞:验证绕过漏洞(CVE-2018-10561)和命令注入漏洞(CVE-2018-105...

    Seebug漏洞平台
  • 针对《网络安全漏洞管理规定(征求意见稿)》的一些看法:利大于弊

    6月18日晚间,工信部一纸《网络安全漏洞管理规定 (征求意见稿)》(以下简称规定)很快引爆了安全圈……FreeBuf上一位作者及时发布了一篇针对该意见稿的解读文...

    FB客服
  • 这个 Office 漏洞的年龄可能比有些白帽子还大

    能潜伏的不只有生物学上的病毒,还有网络中的病毒。 近日,宅客频道从腾讯电脑管家官方微博看到一则消息:腾讯安全反病毒实验室在全球范围内捕获了一例病毒样本,并顺藤摸...

    企鹅号小编
  • 高通DSP芯片被曝6个漏洞事件引发的安全危机猜想

    近日,国外知名安全研究机构Check Point发现,高通骁龙系列芯片的数字信号处理芯片(DSP)中存在大量漏洞,总数多达400多。研究人员表示,由于易受攻击的...

    腾讯安全
  • 初识弱点扫描

    这个数据库是OffensiveSecurity 维护的,收集了大量的意已知漏洞的PoC 和 Exp,也是我们查找漏洞利用代码的主要途径之一

    意大利的猫
  • 【漏洞治理】漏洞调研报告(非完整版)

    “ 在大型网络安全攻防活动前夕,互联网上又出现不少漏洞治理相关文章,部分微信群也纷纷进行热议。关于漏洞的治理,仍旧是网安行业经久不衰的话题。”

    aerfa
  • 企业漏洞管理的4大误区

    根据IBM的2019年数据泄露成本报告,美国数据泄露的平均成本为819万美元。公司平均需要206天才能识别出泄露,尝试解决这些问题则平均需要38天。

    FB客服
  • 一个漏洞能潜伏多少年?细数那些有名的高龄安全漏洞

    在评估漏洞影响时,人们关注的往往是漏洞风险,而实际上,漏洞潜伏的时间也是一个非常重要的因素。时间跨度大,也就意味着在此期间使用这些含有漏洞的软件的设备更多,影响...

    FB客服

扫码关注云+社区

领取腾讯云代金券