?

Feb 27 2018

某CMS V5.7 SP2 后臺Getshell

首頁 » 漏洞收集 » 某CMS V5.7 SP2 后臺Getshell   

dede/sys_info.php中
//保存配置的改動
if($dopost=="save")
{
    if(!isset($token)){
        echo 'No token found!';
        exit;
    }
    if(strcasecmp($token, $_SESSION['token']) != 0){
        echo 'Token mismatch!';
        exit;
    }
    foreach($_POST as $k=>$v)
    {
        if(preg_match("#^edit___#", $k))
        {
            $v = cn_substrR(${$k}, 1024);
        }
        else
        {
            continue;
        }
        $k = preg_replace("#^edit___#", "", $k);
        $dsql->ExecuteNoneQuery("UPDATE `#@__sysconfig` SET `value`='$v' WHERE varname='$k' ");
    }
    ReWriteConfig();
    ShowMsg("成功更改站點配置!", "sys_info.php");
    exit();
}
在選擇更改配置后,通過foreach($_POST as $k=>$v)接受參數,并且將參數內容寫入了數據庫,之后進入ReWriteConfig();。
//更新配置函數
function ReWriteConfig()
{
    global $dsql,$configfile;
    if(!is_writeable($configfile))
    {
        echo "配置文件'{$configfile}'不支持寫入,無法修改系統配置參數!";
        exit();
    }
    $fp = fopen($configfile,'w');
    flock($fp,3);
    fwrite($fp,"<"."?php\r\n");
    $dsql->SetQuery("SELECT `varname`,`type`,`value`,`groupid` FROM `#@__sysconfig` ORDER BY aid ASC ");
    $dsql->Execute();
    while($row = $dsql->GetArray())
    {
        if($row['type']=='number')
        {
            if($row['value']=='') $row['value'] = 0;
            fwrite($fp,"\${$row['varname']} = ".$row['value'].";\r\n");
        }
        else
        {
            fwrite($fp,"\${$row['varname']} = '".str_replace("'",'',$row['value'])."';\r\n");
        }
    }
    fwrite($fp,"?".">");
    fclose($fp);
}
這里的代碼將前面插入數據庫的數據直接取出,沒有再做驗證。在while($row = $dsql->GetArray()),有兩個分支,當$row['type']=='number'時,會往文件中直接寫入,其他情況下會進行一次str_replace("'",'',$row['value'])將單引號替換掉。所以我們考慮使用第一個分支,選擇一個默認為數字的參數。

比如使用參數cfg_ftp_port,它表示采用的ftp端口,

5.png


我們填入值為21;phpinfo



6.png


查看配置文件 data/config.cache.inc.php


7.png

正文部分到此結束

文章標簽: dede漏洞

版權聲明:若無特殊注明,本文皆為( mOon )原創,轉載請保留文章出處。

也許喜歡: «PHPCMSv9邏輯漏洞導致備份文件名可猜測 | 解決DEDECMS歷史難題--找后臺目錄»

你腫么看?

你還可以輸入 250/250 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

這篇文章還沒有收到評論,趕緊來搶沙發吧~

?
?
河北11选5开奖