CVE-2021-46075
Titolo dell'exploit: Vehicle Service Management System - 'Multiple' Escalation dei privilegi porta a operazioni CRUD
Autore dell'exploit: SANU P.L
CVE: CVE-2021-46075
CVSS: 7.2 ALTA
Riferimenti:
Descrizione:
Una vulnerabilità di escalation dei privilegi esiste in Sourcecodester Vehicle Service Management System 1.0. Gli utenti con account Staff possono accedere alle risorse admin ed eseguire operazioni CRUD.
1. Vehicle Service Management System - 'Elenco utenti' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Exploit:
- Visitare il pannello admin http://localhost/vehicle_service/admin
- Accedere con l'account Admin nel Browser A (Chrome)
- Accedere con l'account Staff nel Browser B (Firefox)
- Nell'account Admin (Chrome) andare alla sezione Elenco utenti e fare clic sul pulsante Crea nuovo.
- Copiare il link di Crea nuovo utente http://localhost/vehicle_service/admin/?page=user/manage_user
- Nell'account Staff (Firefox) non c'è alcuna sezione Elenco utenti perché l'account Staff non ha i diritti per creare un utente.
- Incollare il link copiato nel Browser B (Firefox)
- Ora siamo in grado di accedere alla pagina Crea utente.
- Inserire i dettagli richiesti e fare clic sul pulsante Salva.
- Nell'account Admin (Chrome) andare alla sezione Elenco utenti http://localhost/vehicle_service/admin/?page=user/list
- Il nuovo utente è stato creato con successo.
- L'account Staff può accedere alla pagina Elenco utenti e alla pagina Crea utente.
- L'account Staff può Creare, Leggere, Aggiornare ed Eliminare gli utenti.
2. Vehicle Service Management System - 'Elenco categorie' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Exploit:
- Visitare il pannello admin http://localhost/vehicle_service/admin
- Accedere con l'account Admin nel Browser A (Chrome)
- Accedere con l'account Staff nel Browser B (Firefox)
- Nell'account Admin (Chrome) andare alla sezione Elenco categorie e fare clic sul pulsante Crea nuovo.
- Copiare il link di Crea nuova categoria http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- Nell'account Staff (Firefox) non c'è alcuna sezione Elenco categorie perché l'account Staff non ha i diritti per creare una categoria.
- Incollare il link copiato nel Browser B (Firefox)
- Ora siamo in grado di accedere alla pagina Crea categoria.
- Inserire i dettagli richiesti e fare clic sul pulsante Salva.
- Nell'account Admin (Chrome) andare alla sezione Elenco categorie http://localhost/vehicle_service/admin/?page=maintenance/category
- La nuova categoria è stata creata con successo.
- L'account Staff può accedere alla pagina Elenco categorie e alla pagina Crea categoria.
- L'account Staff può Creare, Leggere, Aggiornare ed Eliminare le categorie.
3. Vehicle Service Management System - 'Elenco servizi' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Exploit:
- Visitare il pannello admin http://localhost/vehicle_service/admin
- Accedere con l'account Admin nel Browser A (Chrome)
- Accedere con l'account Staff nel Browser B (Firefox)
- Nell'account Admin (Chrome) andare alla sezione Elenco servizi e fare clic sul pulsante Crea nuovo.
- Copiare il link di Crea nuovo servizio http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- Nell'account Staff (Firefox) non c'è alcuna sezione Elenco servizi perché l'account Staff non ha i diritti per creare un servizio.
- Incollare il link copiato nel Browser B (Firefox)
- Ora siamo in grado di accedere alla pagina Crea servizio.
- Inserire i dettagli richiesti e fare clic sul pulsante Salva.
- Nell'account Admin (Chrome) andare alla sezione Elenco servizi http://localhost/vehicle_service/admin/?page=maintenance/services
- Il nuovo servizio è stato creato con successo.
- L'account Staff può accedere alla pagina Elenco servizi e alla pagina Crea servizio.
- L'account Staff può Creare, Leggere, Aggiornare ed Eliminare i servizi.
4. Vehicle Service Management System - 'Impostazioni' (/admin/?page=system_info)
Exploit:
- Visitare il pannello admin http://localhost/vehicle_service/admin
- Accedere con l'account Admin nel Browser A (Chrome)
- Accedere con l'account Staff nel Browser B (Firefox)
- Nell'account Admin (Chrome) andare alla sezione Impostazioni.
- Copiare il link della sezione Impostazioni http://localhost/vehicle_service/admin/?page=system_info
- Nell'account Staff (Firefox) non c'è alcuna sezione Impostazioni perché l'account Staff non ha i diritti per accedere alle Impostazioni.
- Incollare il link copiato nel Browser B (Firefox)
- Ora siamo in grado di accedere alla pagina Impostazioni.
- Inserire i dettagli richiesti e fare clic sul pulsante Salva.
- Nell'account Admin (Chrome) andare alla sezione Impostazioni http://localhost/vehicle_service/admin/?page=system_info
- I dettagli sono stati aggiornati con successo.
- L'account Staff può accedere alla pagina Impostazioni.
- L'account Staff può Aggiornare le Impostazioni.
Impatto:
Un utente remoto può ottenere un accesso elevato a risorse che normalmente non dovrebbero essere disponibili. Con l'account Staff, gli utenti possono accedere alle risorse admin ed eseguire operazioni CRUD.
Mitigazione:
Si raccomanda di implementare quanto segue:
- Gestione corretta dei privilegi degli account
- Monitorare e gestire tutte le sessioni privilegiate
- Politiche password complesse e relativa applicazione
- Sanificare gli input degli utenti e proteggere i database