2018年8月27号,有安全研究人员在GitHub上公布了有关Discuz!多个版本中后台数据库备份功能存在的命令执行漏洞的细节。
目前官方对于老版本Discuz不再更新,如需要手动修复此漏洞,较可靠的做法是将Discuz升级到Discuz3.4或以上版本。
【注意:该补丁为云盾自研代码修复方案,云盾会根据您当前代码是否符合云盾自研的修复模式进行检测,如果您自行采取了底层/框架统一修复、或者使用了其他的修复方案,可能会导致您虽然已经修复了该漏洞,云盾依然报告存在漏洞,遇到该情况可选择忽略该漏洞提示】
【云盾自研代码修复方案】
修改文件:/source/admincp/admincp_db.php
搜索代码:
$tablesstr .= '"'.$table.'" ';
修改成:
$tablesstr.='"'.addslashes($table).'"';
搜索代码:
@unlink($dumpfile);
修改成:
@unlink($dumpfile); $tablesstr=escapeshellarg($tablesstr);