查看: 780|回复: 4

[系统安全] Discuz! 任意文件删除漏洞,优化加强安全性

[复制链接]
yun 黑帽联盟官方人员 

920

主题

35

听众

1362

积分

超级版主

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2019-10-18 11:20
  • 签到天数: 678 天

    [LV.9]以坛为家II

    |显示全部楼层
    本帖最后由 yun 于 2017-10-2 12:46 编辑

    discuz任意文件删除漏洞

    discuz任意文件删除漏洞


    dz任意文件删除漏洞

    dz任意文件删除漏洞


    Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的开源的社区论坛软件系统。采用 PHP 和 MySQL 构建的性能优异、功能全面的社区论坛平台。利用特殊构造的请求触发可参与文件删除操作,导致了任意文件删除漏洞的发生。早在2014年有白帽子向官方报告了一个类似的漏洞,但是由于没有修补全导致还有其他方式可以进行利用。

    *由于Discuz官方暂未发布正式补丁及升级包,本站对漏洞细节暂不公开

    影响范围
    Discuz! X3.3
    Discuz! X3.2
    Discuz! X3.1
    Discuz! X2.5

    缓解措施
    根据参考连接里的commit编辑upload/source/include/spacecp/spacecp_profile.php文件,删除和unlink相关代码。

    文件发生了变化, 影响行数: (第5、6、14、20、24),总共5行
    1. @@ -178,8 +178,6 @@ if(submitcheck('profilesubmit')) {
    2.           if($_GET['deletefile'] && is_array($_GET['deletefile'])) {
    3.                   foreach($_GET['deletefile'] as $key => $value) {
    4.                           if(isset($_G['cache']['profilesetting'][$key]) && $_G['cache']['profilesetting'][$key]['formtype'] == 'file') {
    5.                                 @unlink(getglobal('setting/attachdir').'./profile/'.$space[$key]);
    6.                                  @unlink(getglobal('setting/attachdir').'./profile/'.$verifyinfo['field'][$key]);
    7.                                   $verifyarr[$key] = $setarr[$key] = '';
    8.                           }
    9.                   }
    10. @@ -215,17 +213,14 @@ if(submitcheck('profilesubmit')) {
    11.                                   $attach['attachment'] = dhtmlspecialchars(trim($attach['attachment']));
    12.                                   if($vid && $verifyconfig['available'] && isset($verifyconfig['field'][$key])) {
    13.                                           if(isset($verifyinfo['field'][$key])) {
    14.                                                  @unlink(getglobal('setting/attachdir').'./profile/'.$verifyinfo['field'][$key]);
    15.                                                   $verifyarr[$key] = $attach['attachment'];
    16.                                           }
    17.                                           continue;
    18.                                   }
    19.                                   if(isset($setarr[$key]) && $_G['cache']['profilesetting'][$key]['needverify']) {
    20.                                           @unlink(getglobal('setting/attachdir').'./profile/'.$verifyinfo['field'][$key]);
    21.                                           $verifyarr[$key] = $attach['attachment'];
    22.                                           continue;
    23.                                   }
    24.                                   @unlink(getglobal('setting/attachdir').'./profile/'.$space[$key]);
    25.                                   $setarr[$key] = $attach['attachment'];
    26.                           }
    27.    
    复制代码
    参考链接:https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574

    52

    主题

    2

    听众

    310

    积分

    黑帽学员

    Rank: 3Rank: 3

  • TA的每日心情
    奋斗
    2019-9-27 16:27
  • 签到天数: 258 天

    [LV.8]以坛为家I

    我擦,漏洞,咱们论坛肯定补了
    回复

    使用道具 举报

    39

    主题

    1

    听众

    185

    积分

    黑帽新手

    Rank: 2

  • TA的每日心情
    奋斗
    2018-7-15 21:02
  • 签到天数: 215 天

    [LV.7]常住居民III

    soga,原来如此
    回复

    使用道具 举报

    148

    主题

    8

    听众

    337

    积分

    版主

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    擦汗
    2018-6-6 11:33
  • 签到天数: 348 天

    [LV.8]以坛为家I

    之前就听说的
    回复

    使用道具 举报

    0

    主题

    0

    听众

    4

    积分

    黑帽菜鸟

    Rank: 1

  • TA的每日心情
    开心
    2017-11-12 08:37
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    了解过,加深印象。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 会员注册

    站长推荐上一条 /1 下一条