# Reset/Forgotten Password Bypass {% hint style="success" %} Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks * Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! * **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters! **Hacking Insights**\ Engage with content that delves into the thrill and challenges of hacking **Real-Time Hack News**\ Keep up-to-date with fast-paced hacking world through real-time news and insights **Latest Announcements**\ Stay informed with the newest bug bounties launching and crucial platform updates **Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today! ## **Password Reset Token Leak Via Referrer** * HTTP referer header može otkriti token za resetovanje lozinke ako je uključen u URL. Ovo se može desiti kada korisnik klikne na link treće strane nakon što zatraži resetovanje lozinke. * **Impact**: Potencijalno preuzimanje naloga putem Cross-Site Request Forgery (CSRF) napada. * **Exploitation**: Da biste proverili da li se token za resetovanje lozinke otkriva u referer header-u, **zatražite resetovanje lozinke** na vašu email adresu i **kliknite na link za resetovanje** koji je dostavljen. **Ne menjajte lozinku** odmah. Umesto toga, **navigirajte do veb stranice treće strane** (kao što su Facebook ili Twitter) dok **presrećete zahteve koristeći Burp Suite**. Istražite zahteve da vidite da li **referer header sadrži token za resetovanje lozinke**, jer to može izložiti osetljive informacije trećim stranama. * **References**: * [HackerOne Report 342693](https://hackerone.com/reports/342693) * [HackerOne Report 272379](https://hackerone.com/reports/272379) * [Password Reset Token Leak Article](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a) ## **Password Reset Poisoning** * Napadači mogu manipulisati Host header-om tokom zahteva za resetovanje lozinke kako bi usmerili link za resetovanje na zloćudnu stranicu. * **Impact**: Dovodi do potencijalnog preuzimanja naloga otkrivanjem reset tokena napadačima. * **Mitigation Steps**: * Validirajte Host header u odnosu na belu listu dozvoljenih domena. * Koristite sigurne, server-side metode za generisanje apsolutnih URL-ova. * **Patch**: Koristite `$_SERVER['SERVER_NAME']` za konstrukciju URL-ova za resetovanje lozinke umesto `$_SERVER['HTTP_HOST']`. * **References**: * [Acunetix Article on Password Reset Poisoning](https://www.acunetix.com/blog/articles/password-reset-poisoning/) ## **Password Reset By Manipulating Email Parameter** 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 & ```php POST /resetPassword [...] email=victim@email.com&email=attacker@email.com ``` * Dodajte email napadača kao drugi parametar koristeći %20 ```php POST /resetPassword [...] email=victim@email.com%20email=attacker@email.com ``` * Dodajte email napadača kao drugi parametar koristeći | ```php POST /resetPassword [...] email=victim@email.com|email=attacker@email.com ``` * Dodajte email napadača kao drugi parametar koristeći cc ```php POST /resetPassword [...] email="victim@mail.tld%0a%0dcc:attacker@mail.tld" ``` * Dodajte email napadača kao drugi parametar koristeći bcc ```php POST /resetPassword [...] email="victim@mail.tld%0a%0dbcc:attacker@mail.tld" ``` * Dodajte email napadača kao drugi parametar koristeći , ```php POST /resetPassword [...] email="victim@mail.tld",email="attacker@mail.tld" ``` * Dodajte email napadača kao drugi parametar u json nizu ```php POST /resetPassword [...] {"email":["victim@mail.tld","atracker@mail.tld"]} ``` * **Koraci za ublažavanje**: * Ispravno analizirati i validirati email parametre na serverskoj strani. * Koristiti pripremljene izjave ili parametrizovane upite kako bi se sprečili napadi injekcijom. * **Reference**: * [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](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://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](https://twitter.com/HusseiN98D/status/1254888748216655872) ## **Menjanje email-a i lozinke bilo kog korisnika putem API parametara** * Napadači mogu modifikovati email i lozinku parametre u API zahtevima kako bi promenili akreditive naloga. ```php POST /api/changepass [...] ("form": {"email":"victim@email.tld","password":"12345678"}) ``` * **Koraci za ublažavanje**: * Osigurati strogu validaciju parametara i provere autentifikacije. * Implementirati robusno logovanje i praćenje kako bi se otkrile i reagovalo na sumnjive aktivnosti. * **Reference**: * [Potpuno preuzimanje naloga putem manipulacije API parametrima](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240) ## **Nema ograničenja brzine: Email bombardovanje** * Nedostatak ograničenja brzine na zahtevima za resetovanje lozinke može dovesti do bombardovanja email-ova, preplavljujući korisnika sa email-ovima za resetovanje. * **Koraci za ublažavanje**: * Implementirati ograničenje brzine na osnovu IP adrese ili korisničkog naloga. * Koristiti CAPTCHA izazove kako bi se sprečila automatska zloupotreba. * **Reference**: * [HackerOne izveštaj 280534](https://hackerone.com/reports/280534) ## **Saznajte kako se generiše token za resetovanje lozinke** * Razumevanje obrasca ili metode iza generisanja tokena može dovesti do predviđanja ili brute-forcing tokena. Neke opcije: * Na osnovu vremenskog pečata * Na osnovu UserID-a * Na osnovu email-a korisnika * Na osnovu imena i prezimena * Na osnovu datuma rođenja * Na osnovu kriptografije * **Koraci za ublažavanje**: * Koristiti jake, kriptografske metode za generisanje tokena. * Osigurati dovoljnu nasumičnost i dužinu kako bi se sprečila predvidljivost. * **Alati**: Koristiti Burp Sequencer za analizu nasumičnosti tokena. ## **Pogodna UUID** * Ako su UUID-ovi (verzija 1) pogodivi ili predvidivi, napadači mogu da ih brute-force-uju kako bi generisali važeće tokene za resetovanje. Proverite: {% content-ref url="uuid-insecurities.md" %} [uuid-insecurities.md](uuid-insecurities.md) {% endcontent-ref %} * **Koraci za ublažavanje**: * Koristiti GUID verziju 4 za nasumičnost ili implementirati dodatne sigurnosne mere za druge verzije. * **Alati**: Koristiti [guidtool](https://github.com/intruder-io/guidtool) za analizu i generisanje GUID-ova. ## **Manipulacija odgovorom: Zamenite loš odgovor dobrim** * Manipulacija HTTP odgovorima kako bi se zaobišle poruke o grešci ili ograničenja. * **Koraci za ublažavanje**: * Implementirati provere na serverskoj strani kako bi se osigurala integritet odgovora. * Koristiti sigurne komunikacione kanale kao što je HTTPS kako bi se sprečili napadi "man-in-the-middle". * **Reference**: * [Kritična greška u Live Bug Bounty događaju](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3) ## **Korišćenje istekao tokena** * Testiranje da li se istekao tokeni još uvek mogu koristiti za resetovanje lozinke. * **Koraci za ublažavanje**: * Implementirati stroge politike isteka tokena i validirati istekao token na serverskoj strani. ## **Brute Force token za resetovanje lozinke** * Pokušaj brute-force-a reset tokena koristeći alate kao što su Burpsuite i IP-Rotator kako bi se zaobišla ograničenja brzine zasnovana na IP-u. * **Koraci za ublažavanje**: * Implementirati robusno ograničenje brzine i mehanizme zaključavanja naloga. * Pratiti sumnjive aktivnosti koje ukazuju na brute-force napade. ## **Pokušajte koristiti svoj token** * Testiranje da li se napadačev reset token može koristiti u kombinaciji sa email-om žrtve. * **Koraci za ublažavanje**: * Osigurati da su tokeni vezani za korisničku sesiju ili druge korisnički specifične atribute. ## **Nevaženje sesije prilikom odjave/resetovanja lozinke** * Osigurati da se sesije nevaže kada se korisnik odjavi ili resetuje svoju lozinku. * **Koraci za ublažavanje**: * Implementirati pravilno upravljanje sesijama, osiguravajući da se sve sesije nevaže prilikom odjave ili resetovanja lozinke. ## **Nevaženje sesije prilikom odjave/resetovanja lozinke** * Tokeni za resetovanje bi trebali imati vreme isteka nakon kojeg postaju nevažeći. * **Koraci za ublažavanje**: * Postaviti razumno vreme isteka za tokene za resetovanje i strogo ga sprovoditi na serverskoj strani. ## Reference * [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) serveru kako biste komunicirali sa iskusnim hakerima i lovcima na greške! **Uvidi u hakovanje**\ Uključite se u sadržaj koji se bavi uzbuđenjem i izazovima hakovanja **Vesti o hakovanju u realnom vremenu**\ Budite u toku sa brzim svetom hakovanja kroz vesti i uvide u realnom vremenu **Najnovija obaveštenja**\ Budite informisani o najnovijim nagradama za greške i važnim ažuriranjima platforme **Pridružite nam se na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i počnite da sarađujete sa vrhunskim hakerima danas! {% hint style="success" %} Učite i vežbajte AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Učite i vežbajte GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Podrška HackTricks * Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)! * **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Podelite trikove za hakovanje slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
{% endhint %}