10 KiB
Bajpasiranje Resetovanja/Zaboravljene Lozinke
Naučite hakovanje AWS-a od nule do heroja sa htARTE (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!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitteru 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!
Hakerski Uvidi
Uključite se u sadržaj koji istražuje uzbuđenje i izazove hakovanja
Vesti o Hakovanju u Realnom Vremenu
Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu
Najnovije Najave
Ostanite informisani o najnovijim nagradama za pronalaženje bagova i bitnim ažuriranjima platformi
Pridružite nam se na Discord-u i počnite da sarađujete sa vrhunskim hakerima danas!
Curenje Tokena za Resetovanje Lozinke Putem Referrera
- HTTP referer zaglavlje može procuriti token za resetovanje lozinke ako je uključen u URL. Ovo može da se desi kada korisnik klikne na link treće strane nakon što je zatražio resetovanje lozinke.
- Utjecaj: Potencijalno preuzimanje naloga putem napada Cross-Site Request Forgery (CSRF).
- Eksploatacija: Da biste proverili da li token za resetovanje lozinke procuri u referer zaglavlju, zatražite resetovanje lozinke na svoju email adresu i kliknite na link za resetovanje koji je pružen. Nemojte odmah promeniti lozinku. Umesto toga, posetite web lokaciju treće strane (kao što su Facebook ili Twitter) dok interceptujete zahteve pomoću Burp Suite-a. Inspekcijom zahteva vidite da li referer zaglavlje sadrži token za resetovanje lozinke, jer to može izložiti osetljive informacije trećim stranama.
- Reference:
- HackerOne Izveštaj 342693
- HackerOne Izveštaj 272379
- Članak o Curenju Tokena za Resetovanje Lozinke
Trovanje Resetovanja Lozinke
- Napadači mogu manipulisati Host zaglavlje tokom zahteva za resetovanje lozinke kako bi usmerili link za resetovanje ka zlonamernom sajtu.
- Utjecaj: Dovodi do potencijalnog preuzimanja naloga curenjem tokena za resetovanje napadačima.
- Koraci za Smanjenje Rizika:
- Validirajte Host zaglavlje protiv bele liste dozvoljenih domena.
- Koristite sigurne, serverske metode za generisanje apsolutnih URL-ova.
- Popravka: Koristite
$_SERVER['SERVER_NAME']
za konstruisanje URL-ova za resetovanje lozinke umesto$_SERVER['HTTP_HOST']
. - Reference:
- Acunetix Članak o Trovanju Resetovanja Lozinke
Resetovanje Lozinke Manipulacijom Parametra Email
Napadači mogu manipulisati zahtevom za resetovanje lozinke dodavanjem dodatnih email parametara kako bi preusmerili link za resetovanje.
- Dodajte email napadača kao drugi parametar koristeći &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
- Dodajte email napadača kao drugi parametar koristeći %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
- Dodajte email napadača kao drugi parametar koristeći |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
- Dodajte email napadača kao drugi parametar koristeći cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
- Dodajte email napadača kao drugi parametar koristeći bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
- Dodajte email napadača kao drugi parametar koristeći ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
- Dodajte email napadača kao drugi parametar u json nizu
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
- Koraci za ublažavanje:
- Pravilno parsirati i validirati parametre e-pošte na serverskoj strani.
- Koristiti pripremljene izjave ili parametrizovane upite kako bi se sprečili napadi ubacivanjem.
- Reference:
- https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be
- https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/
- https://twitter.com/HusseiN98D/status/1254888748216655872
Menjanje e-pošte i lozinke bilo kog korisnika putem API parametara
- Napadači mogu izmeniti parametre e-pošte i lozinke u API zahtevima kako bi promenili pristupne podatke naloga.
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
- Koraci za ublažavanje:
- Osigurajte strogu validaciju parametara i provere autentikacije.
- Implementirajte snažno beleženje i praćenje kako biste otkrili i odgovorili na sumnjive aktivnosti.
- Reference:
- Potpuno preuzimanje naloga putem manipulacije API parametrima
Bez ograničenja brzine: Email bombardovanje
- Nedostatak ograničenja brzine zahteva za resetovanje lozinke može dovesti do email bombardovanja, preplavljujući korisnika resetujućim emailovima.
- Koraci za ublažavanje:
- Implementirajte ograničenje brzine na osnovu IP adrese ili korisničkog naloga.
- Koristite CAPTCHA izazove kako biste sprečili automatizovanu zloupotrebu.
- Reference:
- HackerOne Izveštaj 280534
Saznajte kako se generiše token za resetovanje lozinke
- Razumevanje obrasca ili metode generisanja tokena može dovesti do predviđanja ili grubog sile tokena. Neke opcije:
- Na osnovu vremenske oznake
- Na osnovu korisničkog ID-a
- Na osnovu e-pošte korisnika
- Na osnovu imena i prezimena
- Na osnovu datuma rođenja
- Na osnovu kriptografije
- Koraci za ublažavanje:
- Koristite snažne, kriptografske metode za generisanje tokena.
- Osigurajte dovoljno slučajnosti i dužinu kako biste sprečili predvidljivost.
- Alati: Koristite Burp Sequencer za analizu slučajnosti tokena.
Pogodan UUID
- Ako su UUID-ovi (verzija 1) pogodni ili predvidljivi, napadači ih mogu grubo siliti kako bi generisali validne reset tokene. Proverite:
{% content-ref url="uuid-insecurities.md" %} uuid-insecurities.md {% endcontent-ref %}
- Koraci za ublažavanje:
- Koristite GUID verziju 4 za slučajnost ili implementirajte dodatne sigurnosne mere za druge verzije.
- Alati: Koristite guidtool za analizu i generisanje GUID-ova.
Manipulacija odgovorom: Zamena lošeg odgovora dobrom
- Manipulisanje HTTP odgovora kako bi se zaobišle greške ili ograničenja.
- Koraci za ublažavanje:
- Implementirajte provere na serverskoj strani kako biste osigurali integritet odgovora.
- Koristite sigurne komunikacione kanale poput HTTPS-a kako biste sprečili napade čoveka usred komunikacije.
- Reference:
- Kritična greška na događaju uživo sa Bug Bounty
Korišćenje isteklog tokena
- Testiranje da li istekli tokeni i dalje mogu biti korišćeni za resetovanje lozinke.
- Koraci za ublažavanje:
- Implementirajte stroge politike isteka tokena i validirajte istek tokena na serverskoj strani.
Gruba sila za resetovanje lozinke
- Pokušaj grubog sile reset tokena korišćenjem alata poput Burpsuite-a i IP-Rotatora kako biste zaobišli IP-bazirana ograničenja brzine.
- Koraci za ublažavanje:
- Implementirajte snažne mehanizme ograničenja brzine i zaključavanja naloga.
- Pratite sumnjive aktivnosti koje ukazuju na napade grubom silom.
Pokušajte koristiti svoj token
- Testiranje da li napadačev reset token može biti korišćen zajedno sa emailom žrtve.
- Koraci za ublažavanje:
- Osigurajte da su tokeni vezani za korisničku sesiju ili druge korisnički-specifične atribute.
Poništavanje sesije pri odjavljivanju/resetovanju lozinke
- Osiguravanje da se sesije poništavaju kada korisnik se odjavi ili resetuje lozinku.
- Koraci za ublažavanje:
- Implementirajte pravilno upravljanje sesijama, osiguravajući da se sve sesije poništavaju prilikom odjavljivanja ili resetovanja lozinke.
Poništavanje sesije pri odjavljivanju/resetovanju lozinke
- Reset tokeni treba da imaju vreme isteka nakon kojeg postaju nevažeći.
- Koraci za ublažavanje:
- Postavite razumno vreme isteka za reset tokene i strogo ga sprovedite na serverskoj strani.
Reference
Pridružite se HackenProof Discord serveru kako biste komunicirali sa iskusnim hakerima i lovcima na bagove!