# Preuzimanje naloga {{#include ../banners/hacktricks-training.md}} ## **Problem sa autorizacijom** Email naloga treba pokušati promeniti, a proces potvrde **mora biti ispitan**. Ako se utvrdi da je **slab**, email treba promeniti na onaj koji pripada nameravanoj žrtvi i zatim potvrditi. ## **Problem sa Unicode normalizacijom** 1. Nalog nameravane žrtve `victim@gmail.com` 2. Treba kreirati nalog koristeći Unicode\ na primer: `vićtim@gmail.com` Kao što je objašnjeno u [**ovom predavanju**](https://www.youtube.com/watch?v=CiIyaZ3x49c), prethodni napad se takođe može izvršiti zloupotrebom identiteta treće strane: - Kreirati nalog kod treće strane sa sličnim emailom kao žrtva koristeći neki unicode karakter (`vićtim@company.com`). - Treća strana ne bi trebala da verifikuje email - Ako identitetski provajder verifikuje email, možda možete napasti deo domena kao: `victim@ćompany.com` i registrovati taj domen i nadati se da identitetski provajder generiše ascii verziju domena dok platforma žrtve normalizuje naziv domena. - Prijavite se putem ovog identitetskog provajdera na platformu žrtve koja bi trebala normalizovati unicode karakter i omogućiti vam pristup nalogu žrtve. Za više detalja, pogledajte dokument o Unicode normalizaciji: {{#ref}} unicode-injection/unicode-normalization.md {{#endref}} ## **Ponovno korišćenje reset tokena** Ako ciljni sistem dozvoljava **ponovno korišćenje reset linka**, treba uložiti napore da se **pronađe više reset linkova** koristeći alate kao što su `gau`, `wayback`, ili `scan.io`. ## **Pre preuzimanja naloga** 1. Email žrtve treba koristiti za registraciju na platformi, a lozinka treba biti postavljena (pokušaj potvrde treba izvršiti, iako nedostatak pristupa emailovima žrtve može učiniti ovo nemogućim). 2. Treba čekati dok žrtva ne registruje koristeći OAuth i potvrdi nalog. 3. Nadamo se da će redovna registracija biti potvrđena, omogućavajući pristup nalogu žrtve. ## **CORS pogrešna konfiguracija za preuzimanje naloga** Ako stranica sadrži **CORS pogrešne konfiguracije**, možda ćete moći da **ukradete osetljive informacije** od korisnika kako biste **preuzeli njegov nalog** ili ga naterali da promeni informacije o autentifikaciji u istu svrhu: {{#ref}} cors-bypass.md {{#endref}} ## **CSRF za preuzimanje naloga** Ako je stranica ranjiva na CSRF, možda ćete moći da naterate **korisnika da izmeni svoju lozinku**, email ili autentifikaciju kako biste zatim mogli da mu pristupite: {{#ref}} csrf-cross-site-request-forgery.md {{#endref}} ## **XSS za preuzimanje naloga** Ako pronađete XSS u aplikaciji, možda ćete moći da ukradete kolačiće, lokalnu memoriju ili informacije sa web stranice koje bi vam mogle omogućiti preuzimanje naloga: {{#ref}} xss-cross-site-scripting/ {{#endref}} ## **Ista domena + Kolačići** Ako pronađete ograničen XSS ili preuzimanje poddomena, mogli biste se igrati sa kolačićima (fiksirajući ih na primer) kako biste pokušali da kompromitujete nalog žrtve: {{#ref}} hacking-with-cookies/ {{#endref}} ## **Napad na mehanizam resetovanja lozinke** {{#ref}} reset-password.md {{#endref}} ## **Manipulacija odgovorom** Ako se odgovor na autentifikaciju može **smanjiti na jednostavnu boolean vrednost, samo pokušajte da promenite false u true** i vidite da li dobijate bilo kakav pristup. ## OAuth za preuzimanje naloga {{#ref}} oauth-to-account-takeover.md {{#endref}} ## Injekcija Host zaglavlja 1. Host zaglavlje se menja nakon iniciranja zahteva za resetovanje lozinke. 2. `X-Forwarded-For` proxy zaglavlje se menja u `attacker.com`. 3. Host, Referrer i Origin zaglavlja se istovremeno menjaju u `attacker.com`. 4. Nakon iniciranja resetovanja lozinke i zatim odabira ponovnog slanja maila, koriste se sve tri prethodno pomenute metode. ## Manipulacija odgovorom 1. **Manipulacija kodom**: Status kod se menja u `200 OK`. 2. **Manipulacija kodom i telom**: - Status kod se menja u `200 OK`. - Telo odgovora se menja u `{"success":true}` ili prazan objekat `{}`. Ove tehnike manipulacije su efikasne u scenarijima gde se JSON koristi za prenos i prijem podataka. ## Promena emaila trenutne sesije Iz [ovog izveštaja](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea): - Napadač traži da promeni svoj email na novi - Napadač dobija link za potvrdu promene emaila - Napadač šalje žrtvi link kako bi ga kliknula - Email žrtve se menja na onaj koji je naveo napadač - Napadač može povratiti lozinku i preuzeti nalog Ovo se takođe dogodilo u [**ovom izveštaju**](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea). ### Stari kolačići Kao što je objašnjeno [**u ovom postu**](https://medium.com/@niraj1mahajan/uncovering-the-hidden-vulnerability-how-i-found-an-authentication-bypass-on-shopifys-exchange-cc2729ea31a9), bilo je moguće prijaviti se na nalog, sačuvati kolačiće kao autentifikovani korisnik, odjaviti se, a zatim se ponovo prijaviti.\ Sa novim prijavljivanjem, iako su možda generisani različiti kolačići, stari su ponovo počeli da rade. ## Reference - [https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050](https://infosecwriteups.com/firing-8-account-takeover-methods-77e892099050) - [https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea](https://dynnyd20.medium.com/one-click-account-take-over-e500929656ea) {{#include ../banners/hacktricks-training.md}}