Account Takeover
Problema di Autorizzazione
L'email di un account dovrebbe essere tentata per essere cambiata, e il processo di conferma deve essere esaminato. Se risulta debole, l'email dovrebbe essere cambiata con quella della vittima designata e poi confermata.
Problema di Normalizzazione Unicode
L'account della vittima designata
victim@gmail.com
Un account dovrebbe essere creato utilizzando Unicode per esempio:
vićtim@gmail.com
Come spiegato in questo intervento, l'attacco precedente potrebbe essere effettuato abusando dei fornitori di identità di terze parti:
Crea un account nel fornitore di identità di terze parti con un'email simile a quella della vittima utilizzando qualche carattere unicode (
vićtim@company.com
).Il fornitore di terze parti non dovrebbe verificare l'email
Se il fornitore di identità verifica l'email, forse puoi attaccare la parte di dominio come:
victim@ćompany.com
e registrare quel dominio e sperare che il fornitore di identità generi la versione ascii del dominio mentre la piattaforma della vittima normalizza il nome del dominio.Accedi tramite questo fornitore di identità nella piattaforma della vittima che dovrebbe normalizzare il carattere unicode e permetterti di accedere all'account della vittima.
Per ulteriori dettagli, fare riferimento al documento sulla Normalizzazione Unicode:
Unicode NormalizationRiutilizzo del Token di Reset
Se il sistema target consente il riutilizzo del link di reset, dovrebbero essere fatti sforzi per trovare più link di reset utilizzando strumenti come gau
, wayback
o scan.io
.
Pre Account Takeover
L'email della vittima dovrebbe essere utilizzata per registrarsi sulla piattaforma, e dovrebbe essere impostata una password (si dovrebbe tentare di confermarla, anche se la mancanza di accesso alle email della vittima potrebbe rendere questo impossibile).
Si dovrebbe aspettare fino a quando la vittima si registra utilizzando OAuth e conferma l'account.
Si spera che la registrazione regolare venga confermata, consentendo l'accesso all'account della vittima.
Misconfigurazione CORS per Account Takeover
Se la pagina contiene misconfigurazioni CORS potresti essere in grado di rubare informazioni sensibili dall'utente per prendere il controllo del suo account o fargli cambiare le informazioni di autenticazione per lo stesso scopo:
CORS - Misconfigurations & BypassCsrf per Account Takeover
Se la pagina è vulnerabile a CSRF potresti essere in grado di far modificare all'utente la sua password, email o autenticazione in modo da poter accedere:
CSRF (Cross Site Request Forgery)XSS per Account Takeover
Se trovi un XSS nell'applicazione potresti essere in grado di rubare cookie, storage locale, o informazioni dalla pagina web che potrebbero permetterti di prendere il controllo dell'account:
XSS (Cross Site Scripting)Stessa Origine + Cookie
Se trovi un XSS limitato o un takeover di sottodominio, potresti giocare con i cookie (fissandoli ad esempio) per cercare di compromettere l'account della vittima:
Cookies HackingAttacco al Meccanismo di Reset della Password
Reset/Forgotten Password BypassManipolazione della Risposta
Se la risposta di autenticazione può essere ridotta a un semplice booleano prova a cambiare false in true e vedere se ottieni accesso.
OAuth per Account Takeover
OAuth to Account takeoverIniezione dell'Intestazione Host
L'intestazione Host viene modificata dopo l'inizio di una richiesta di reset della password.
L'intestazione proxy
X-Forwarded-For
viene alterata inattacker.com
.Le intestazioni Host, Referrer e Origin vengono cambiate simultaneamente in
attacker.com
.Dopo aver avviato un reset della password e poi optato per rinviare la mail, vengono impiegati tutti e tre i metodi sopra menzionati.
Manipolazione della Risposta
Manipolazione del Codice: Il codice di stato viene alterato in
200 OK
.Manipolazione del Codice e del Corpo:
Il codice di stato viene cambiato in
200 OK
.Il corpo della risposta viene modificato in
{"success":true}
o un oggetto vuoto{}
.
Queste tecniche di manipolazione sono efficaci in scenari in cui viene utilizzato JSON per la trasmissione e la ricezione dei dati.
Cambiare l'email della sessione corrente
Da questo rapporto:
L'attaccante richiede di cambiare la sua email con una nuova
L'attaccante riceve un link per confermare il cambio dell'email
L'attaccante invia alla vittima il link affinché lo clicchi
L'email della vittima viene cambiata in quella indicata dall'attaccante
L'attaccante può recuperare la password e prendere il controllo dell'account
Questo è accaduto anche in questo rapporto.
Vecchi Cookie
Come spiegato in questo post, era possibile accedere a un account, salvare i cookie come utente autenticato, disconnettersi e poi accedere di nuovo. Con il nuovo accesso, anche se potrebbero essere generati cookie diversi, i vecchi hanno ricominciato a funzionare.
Riferimenti
Last updated