
Proof-of-concept per una vulnerabilità XSS persistente in Hotel and Tourism Reservation System 1.0, che dimostra l'iniezione non autenticata e il dirottamento della sessione dell'amministratore.
| Campo | Dettagli |
|---|
| Titolo | Sistema di Prenotazione Hotel e Turismo - Cross-Site Scripting (XSS) Memorizzato |
| ID CVE | In attesa di assegnazione |
| Venditore | code-projects.org |
| URL del Venditore | https://code-projects.org/hotel-and-tourism-reservation-in-php-with-source-code/ |
| Prodotto | Sistema di Prenotazione Hotel e Turismo |
| Versione | 1.0 |
| Tipo di Vulnerabilità | Cross-Site Scripting Memorizzato |
| CWE | CWE-79 |
| Punteggio CVSS | 8.3 (Alto) |
| Vettore CVSS | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:L |
| Endpoint Interessato (Iniezione) | /ht/tour.php |
| Endpoint Interessato (Attivazione) | /ht/admin/tour_reserves.php |
| Autenticazione Richiesta | No (iniezione) / Sì (attivazione) |
| Sfruttabile da Remoto | Sì |
| Ricercatore | Syed Imad Uddin Alvi |
Esiste una vulnerabilità di Cross-Site Scripting (XSS) Memorizzato nella funzionalità di prenotazione tour del Sistema di Prenotazione Hotel e Turismo 1.0. Un attaccante non autenticato può iniettare JavaScript arbitrario nei campi del modulo di prenotazione su /ht/tour.php. Il payload dannoso viene memorizzato nel database senza sanificazione. Quando un amministratore visita la pagina di gestione delle prenotazioni tour su /ht/admin/tour_reserves.php, il payload memorizzato viene eseguito nel contesto del browser dell'amministratore — consentendo il dirottamento della sessione, il furto di credenziali o la completa compromissione dell'account amministratore.
File: tour.php (punto di iniezione)
File: admin/tour_reserves.php (punto di esecuzione)
Parametro: name , email , people , number / campi di contatto (POST)
Archiviazione: hotel_db — tabella delle prenotazioni tour
Configurazione: Installare il Sistema di Prenotazione Hotel e Turismo 1.0 su XAMPP e accedere a http://<target>/ht/
Passaggio 1 — Navigare alla pagina di prenotazione tour come utente non autenticato:
http://<target>/ht/tour.php?tour=4
Passaggio 2 — Inserire il payload XSS nel campo nome o in qualsiasi altro campo (tutti sono vulnerabili a XSS), quindi fare clic su Prenota Ora:
<script>alert(1)</script>
Risultato: "Prenotazione effettuata con successo!" — il payload è ora memorizzato nel database.

Passaggio 3 — Accedere come amministratore e navigare al pannello delle prenotazioni tour:
http://<target>/ht/admin/tour_reserves.php
Risultato: Il payload XSS memorizzato viene eseguito immediatamente nel contesto del browser dell'amministratore.

Un attaccante non autenticato può:
Il modulo di prenotazione su tour.php memorizza l'input dell'utente direttamente nel database senza sanificazione. Il pannello di amministrazione su tour_reserves.php restituisce il valore memorizzato grezzo nella risposta HTML senza codifica di output, consentendo l'esecuzione degli script iniettati.
// In output — codificare sempre prima del rendering
echo htmlspecialchars($reservation['name'], ENT_QUOTES, 'UTF-8');
** Imad Alvi** — Ricercatore di Sicurezza Indipendente GitHub: Xmyronn