
Vulnerabilità XSS riflessa proof-of-concept per HotelDruid 3.0.7, che dimostra l'esecuzione arbitraria di JavaScript tramite il parametro ripristina_backup in crea_backup.php.
La vulnerabilità Cross Site Scripting in DigitalDruid HotelDruid v.3.0.7 consente a un attaccante di eseguire codice arbitrario e ottenere informazioni sensibili tramite il parametro ripristina_backup nell'endpoint crea_backup.php
Un attaccante potrebbe indurre un utente autenticato a visitare un URL appositamente costruito, che attiverebbe JavaScript dannoso nel suo browser. Le potenziali conseguenze includono:
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
Risultato: Un avviso popup con il messaggio “Huy Vo Found This Vulnerability” conferma l'avvenuta esecuzione della XSS.
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
Risultato: Il browser reindirizza automaticamente a Facebook.
HotelDruid è un sistema open-source di gestione delle strutture ricettive utilizzato per gestire prenotazioni, camere e fatturazione per hotel, B&B e altre attività del settore alberghiero. È basato sul web, in genere installato su server locali e accessibile tramite browser. Data la sua interfaccia web e la natura amministrativa, una solida sicurezza è fondamentale — soprattutto per le funzioni autenticate.
L'endpoint crea_backup.php elabora il parametro ripristina_backup senza sanificazione o codifica, riflettendo direttamente l'input dell'utente nella pagina. Ciò consente a un attaccante di creare un URL dannoso che inietta JavaScript arbitrario nella pagina visualizzata da un utente autenticato.
ripristina_backupcrea_backup.phpid_sessione)ripristina_backup.htmlspecialchars() in PHP per codificare i caratteri < e >).