CVE-2021-46080
Titolo Exploit: Vehicle Service Management System - 'Multiple' Cross-Site Request Forgery (CSRF) Porta a Stored Cross Site Scripting (XSS)
CVE: CVE-2021-46080
CVSS: 4.8 MEDIO
Riferimenti:
Descrizione:
Una vulnerabilità di Cross Site Request Forgery (CSRF) esiste in Vehicle Service Management System 1.0. Un attacco CSRF riuscito porta a una vulnerabilità di Stored Cross Site Scripting.
1. Vehicle Service Management System - 'Elenco Meccanici' (/admin/?page=mechanics)
Exploit:
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Crea due account amministratore.
- Accedi con l'account Admin-1 nel Browser A (Chrome)
- Accedi con l'account Admin-2 nel Browser B (Firefox)
- Nell'account Admin-1 (Chrome) naviga alla sezione Elenco Meccanici e clicca sul pulsante Crea Nuovo.
- Inietta il seguente payload nel campo di input Nome Completo.
Payload:
"><script>alert(document.cookie)</script>
- Clicca sul pulsante Salva.
- Cattura la richiesta in Burp Suite e genera il file HTML CSRF.
- Salva il file HTML CSRF, ad esempio: CSRF.html
- Nel Browser B (Firefox) naviga al file CSRF.html.
- Naviga alla sezione Elenco Meccanici nel Browser B (Firefox).
- Codice JavaScript malevolo attivato.
2. Vehicle Service Management System - 'Richieste di Servizio' (/admin/?page=service_requests)
Exploit:
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Crea due account amministratore.
- Accedi con l'account Admin-1 nel Browser A (Chrome)
- Accedi con l'account Admin-2 nel Browser B (Firefox)
- Nell'account Admin-1 (Chrome) naviga alla sezione Richieste di Servizio e clicca sul pulsante Crea Nuovo.
- Inietta il seguente payload nel campo di input Contatto Proprietario.
Payload:
"><script>alert(document.cookie)</script>
- Clicca sul pulsante Salva Richiesta.
- Cattura la richiesta in Burp Suite e genera il file HTML CSRF.
- Salva il file HTML CSRF, ad esempio: CSRF.html
- Nel Browser B (Firefox) naviga al file CSRF.html.
- Naviga alla sezione Richieste di Servizio nel Browser B (Firefox).
- Scegli la nuova Richiesta di Servizio creata e clicca su Azione sotto Visualizza.
- Codice JavaScript malevolo attivato.
3. Vehicle Service Management System - 'Elenco Categorie' (/admin/?page=maintenance/category)
Exploit:
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Crea due account amministratore.
- Accedi con l'account Admin-1 nel Browser A (Chrome)
- Accedi con l'account Admin-2 nel Browser B (Firefox)
- Nell'account Admin-1 (Chrome) naviga alla sezione Elenco Categorie e clicca sul pulsante Crea Nuovo.
- Inietta il seguente payload nel campo di input Nome Categoria.
Payload:
"><script>alert(document.cookie)</script>
- Clicca sul pulsante Salva.
- Cattura la richiesta in Burp Suite e genera il file HTML CSRF.
- Salva il file HTML CSRF, ad esempio: CSRF.html
- Nel Browser B (Firefox) naviga al file CSRF.html.
- Naviga alla sezione Elenco Categorie nel Browser B (Firefox).
- Codice JavaScript malevolo attivato.
4. Vehicle Service Management System - 'Elenco Servizi' (/admin/?page=maintenance/services)
Exploit:
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Crea due account amministratore.
- Accedi con l'account Admin-1 nel Browser A (Chrome)
- Accedi con l'account Admin-2 nel Browser B (Firefox)
- Nell'account Admin-1 (Chrome) naviga alla sezione Elenco Servizi e clicca sul pulsante Crea Nuovo.
- Inietta il seguente payload nel campo di input Nome Servizio.
Payload:
"><script>alert(document.cookie)</script>
- Clicca sul pulsante Salva.
- Cattura la richiesta in Burp Suite e genera il file HTML CSRF.
- Salva il file HTML CSRF, ad esempio: CSRF.html
- Nel Browser B (Firefox) naviga al file CSRF.html.
- Naviga alla sezione Elenco Servizi nel Browser B (Firefox).
- Codice JavaScript malevolo attivato.
5. Vehicle Service Management System - 'Elenco Utenti' (/admin/?page=user/list)
Exploit:
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Crea due account amministratore.
- Accedi con l'account Admin-1 nel Browser A (Chrome)
- Accedi con l'account Admin-2 nel Browser B (Firefox)
- Nell'account Admin-1 (Chrome) naviga alla sezione Elenco Utenti e clicca sul pulsante Crea Nuovo.
- Inietta il seguente payload nel campo di input Nome.
Payload:
"><script>alert(document.cookie)</script>
- Clicca sul pulsante Salva.
- Cattura la richiesta in Burp Suite e genera il file HTML CSRF.
- Salva il file HTML CSRF, ad esempio: CSRF.html
- Nel Browser B (Firefox) naviga al file CSRF.html.
- Naviga alla sezione Elenco Utenti nel Browser B (Firefox).
- Codice JavaScript malevolo attivato.
6. Vehicle Service Management System - 'Impostazioni' (/admin/?page=system_info)
Exploit:
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Crea due account amministratore.
- Accedi con l'account Admin-1 nel Browser A (Chrome)
- Accedi con l'account Admin-2 nel Browser B (Firefox)
- Nell'account Admin-1 (Chrome) naviga alla sezione Impostazioni.
- Inietta il seguente payload nel campo di input Nome Sistema.
Payload:
"><script>alert(document.cookie)</script>
- Clicca sul pulsante Aggiorna.
- Cattura la richiesta in Burp Suite e genera il file HTML CSRF.
- Salva il file HTML CSRF, ad esempio: CSRF.html
- Nel Browser B (Firefox) naviga al file CSRF.html.
- Naviga alla sezione Impostazioni nel Browser B (Firefox).
- Codice JavaScript malevolo attivato.
Impatto:
La vulnerabilità di Cross-Site Request Forgery esiste in molteplici endpoint e porta a una vulnerabilità di Stored Cross Site Scripting.
Mitigazione:
Si raccomanda di implementare quanto segue:
- Imprevedibile con alta entropia, come per i token di sessione in generale.
- Legato alla sessione dell'utente.
- Strettamente validato in ogni caso prima che l'azione corrispondente venga eseguita.