TA的每日心情 | 奋斗 2019-10-18 11:20 |
---|
签到天数: 678 天 [LV.9]以坛为家II
|
本帖最后由 yun 于 2017-10-2 12:46 编辑
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行- @@ -178,8 +178,6 @@ if(submitcheck('profilesubmit')) {
- if($_GET['deletefile'] && is_array($_GET['deletefile'])) {
- foreach($_GET['deletefile'] as $key => $value) {
- if(isset($_G['cache']['profilesetting'][$key]) && $_G['cache']['profilesetting'][$key]['formtype'] == 'file') {
- @unlink(getglobal('setting/attachdir').'./profile/'.$space[$key]);
- @unlink(getglobal('setting/attachdir').'./profile/'.$verifyinfo['field'][$key]);
- $verifyarr[$key] = $setarr[$key] = '';
- }
- }
- @@ -215,17 +213,14 @@ if(submitcheck('profilesubmit')) {
- $attach['attachment'] = dhtmlspecialchars(trim($attach['attachment']));
- if($vid && $verifyconfig['available'] && isset($verifyconfig['field'][$key])) {
- if(isset($verifyinfo['field'][$key])) {
- @unlink(getglobal('setting/attachdir').'./profile/'.$verifyinfo['field'][$key]);
- $verifyarr[$key] = $attach['attachment'];
- }
- continue;
- }
- if(isset($setarr[$key]) && $_G['cache']['profilesetting'][$key]['needverify']) {
- @unlink(getglobal('setting/attachdir').'./profile/'.$verifyinfo['field'][$key]);
- $verifyarr[$key] = $attach['attachment'];
- continue;
- }
- @unlink(getglobal('setting/attachdir').'./profile/'.$space[$key]);
- $setarr[$key] = $attach['attachment'];
- }
-
复制代码 参考链接:https://gitee.com/ComsenzDiscuz/DiscuzX/commit/7d603a197c2717ef1d7e9ba654cf72aa42d3e574
|
|