
Prova de conceito de vulnerabilidade XSS refletida para HotelDruid 3.0.7, demonstrando execução arbitrária de JavaScript através do parâmetro ripristina_backup em crea_backup.php.
Vulnerabilidade de Cross Site Scripting no DigitalDruid HotelDruid v.3.0.7 permite que um atacante execute código arbitrário e obtenha informações sensíveis por meio do parâmetro ripristina_backup no endpoint crea_backup.php
Um atacante pode enganar um usuário autenticado para que visite uma URL maliciosa, o que desencadeará JavaScript malicioso no navegador. As consequências potenciais incluem:
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
Resultado: Um popup de alerta com a mensagem “Huy Vo Found This Vulnerability” confirma a execução bem-sucedida do 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
Resultado: O navegador redireciona automaticamente para o Facebook.
HotelDruid é um sistema de gerenciamento de propriedades de código aberto usado para gerenciar reservas, quartos e faturamento para hotéis, pensões e outros negócios de hospitalidade. É baseado na web, normalmente instalado em servidores locais e acessado via navegador. Dada sua interface web e natureza administrativa, uma segurança robusta é crucial — especialmente para funções autenticadas.
O endpoint crea_backup.php processa o parâmetro ripristina_backup sem sanitização ou codificação, refletindo diretamente a entrada do usuário na página. Isso permite que um atacante crie uma URL maliciosa que injeta JavaScript arbitrário na página renderizada para um usuário autenticado.
ripristina_backupcrea_backup.phpid_sessione)ripristina_backup.htmlspecialchars() em PHP para codificar caracteres < e >).