# 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! ## **Wycieki tokenów resetowania hasła przez referer** * Nagłówek HTTP referer może ujawniać token resetowania hasła, jeśli jest zawarty w URL. Może to nastąpić, gdy użytkownik kliknie link do strony trzeciej po zażądaniu resetowania hasła. * **Wpływ**: Potencjalne przejęcie konta za pomocą ataków Cross-Site Request Forgery (CSRF). * **Eksploatacja**: Aby sprawdzić, czy token resetowania hasła wycieka w nagłówku referer, **zażądaj resetowania hasła** na swój adres e-mail i **kliknij link resetujący**. **Nie zmieniaj hasła** od razu. Zamiast tego, **przejdź do strony trzeciej** (takiej jak Facebook lub Twitter), jednocześnie **przechwytując żądania za pomocą Burp Suite**. Sprawdź żądania, aby zobaczyć, czy **nagłówek referer zawiera token resetowania hasła**, ponieważ może to ujawnić wrażliwe informacje osobom trzecim. * **Referencje**: * [HackerOne Report 342693](https://hackerone.com/reports/342693) * [HackerOne Report 272379](https://hackerone.com/reports/272379) * [Artykuł o wycieku tokenów resetowania hasła](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a) ## **Zatrucie resetowania hasła** * Atakujący mogą manipulować nagłówkiem Host podczas żądań resetowania hasła, aby skierować link resetujący do złośliwej witryny. * **Wpływ**: Prowadzi do potencjalnego przejęcia konta przez ujawnienie tokenów resetowania atakującym. * **Kroki łagodzące**: * Waliduj nagłówek Host w porównaniu do białej listy dozwolonych domen. * Używaj bezpiecznych, serwerowych metod do generowania absolutnych URL. * **Poprawka**: Użyj `$_SERVER['SERVER_NAME']` do konstruowania URL resetowania hasła zamiast `$_SERVER['HTTP_HOST']`. * **Referencje**: * [Artykuł Acunetix o zatruciu resetowania hasła](https://www.acunetix.com/blog/articles/password-reset-poisoning/) ## **Resetowanie hasła przez manipulację parametrem e-mail** Atakujący mogą manipulować żądaniem resetowania hasła, dodając dodatkowe parametry e-mail, aby przekierować link resetujący. * Dodaj e-mail atakującego jako drugi parametr używając & ```php POST /resetPassword [...] email=victim@email.com&email=attacker@email.com ``` * Dodaj email atakującego jako drugi parametr używając %20 ```php POST /resetPassword [...] email=victim@email.com%20email=attacker@email.com ``` * Dodaj email atakującego jako drugi parametr używając | ```php POST /resetPassword [...] email=victim@email.com|email=attacker@email.com ``` * Dodaj email atakującego jako drugi parametr używając cc ```php POST /resetPassword [...] email="victim@mail.tld%0a%0dcc:attacker@mail.tld" ``` * Dodaj email atakującego jako drugi parametr używając bcc ```php POST /resetPassword [...] email="victim@mail.tld%0a%0dbcc:attacker@mail.tld" ``` * Dodaj email atakującego jako drugi parametr używając , ```php POST /resetPassword [...] email="victim@mail.tld",email="attacker@mail.tld" ``` * Dodaj email atakującego jako drugi parametr w tablicy json ```php POST /resetPassword [...] {"email":["victim@mail.tld","atracker@mail.tld"]} ``` * **Kroki łagodzenia**: * Prawidłowo analizuj i waliduj parametry e-mailowe po stronie serwera. * Używaj przygotowanych instrukcji lub zapytań z parametrami, aby zapobiec atakom typu injection. * **Referencje**: * [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) ## **Zmiana e-maila i hasła dowolnego użytkownika za pomocą parametrów API** * Atakujący mogą modyfikować parametry e-maila i hasła w żądaniach API, aby zmienić dane logowania do konta. ```php POST /api/changepass [...] ("form": {"email":"victim@email.tld","password":"12345678"}) ``` * **Kroki łagodzenia**: * Zapewnij ścisłą walidację parametrów i kontrole uwierzytelniania. * Wprowadź solidne logowanie i monitorowanie, aby wykrywać i reagować na podejrzane działania. * **Referencje**: * [Pełne przejęcie konta za pomocą manipulacji parametrami API](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240) ## **Brak ograniczeń szybkości: Bombardowanie e-mailem** * Brak ograniczeń szybkości w żądaniach resetowania hasła może prowadzić do bombardowania e-mailem, przytłaczając użytkownika wiadomościami o resetowaniu. * **Kroki łagodzenia**: * Wprowadź ograniczenia szybkości na podstawie adresu IP lub konta użytkownika. * Użyj wyzwań CAPTCHA, aby zapobiec automatycznemu nadużywaniu. * **Referencje**: * [Raport HackerOne 280534](https://hackerone.com/reports/280534) ## **Dowiedz się, jak generowany jest token resetowania hasła** * Zrozumienie wzoru lub metody generowania tokenów może prowadzić do przewidywania lub łamania tokenów. Niektóre opcje: * Na podstawie znacznika czasu * Na podstawie UserID * Na podstawie e-maila użytkownika * Na podstawie imienia i nazwiska * Na podstawie daty urodzenia * Na podstawie kryptografii * **Kroki łagodzenia**: * Użyj silnych, kryptograficznych metod generowania tokenów. * Zapewnij wystarczającą losowość i długość, aby zapobiec przewidywalności. * **Narzędzia**: Użyj Burp Sequencer, aby analizować losowość tokenów. ## **Przewidywalny UUID** * Jeśli UUID (wersja 1) są przewidywalne, atakujący mogą je łamać, aby generować ważne tokeny resetowania. Sprawdź: {% content-ref url="uuid-insecurities.md" %} [uuid-insecurities.md](uuid-insecurities.md) {% endcontent-ref %} * **Kroki łagodzenia**: * Użyj GUID wersji 4 dla losowości lub wprowadź dodatkowe środki bezpieczeństwa dla innych wersji. * **Narzędzia**: Użyj [guidtool](https://github.com/intruder-io/guidtool) do analizy i generowania GUID-ów. ## **Manipulacja odpowiedzią: Zastąp złą odpowiedź dobrą** * Manipulowanie odpowiedziami HTTP, aby obejść komunikaty o błędach lub ograniczenia. * **Kroki łagodzenia**: * Wprowadź kontrole po stronie serwera, aby zapewnić integralność odpowiedzi. * Użyj bezpiecznych kanałów komunikacyjnych, takich jak HTTPS, aby zapobiec atakom typu man-in-the-middle. * **Referencje**: * [Krytyczny błąd w wydarzeniu Live Bug Bounty](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3) ## **Używanie wygasłego tokena** * Testowanie, czy wygasłe tokeny mogą być nadal używane do resetowania hasła. * **Kroki łagodzenia**: * Wprowadź ścisłe zasady wygasania tokenów i waliduj wygasanie tokenów po stronie serwera. ## **Brute Force Token Resetowania Hasła** * Próba złamania tokena resetowania za pomocą narzędzi takich jak Burpsuite i IP-Rotator, aby obejść ograniczenia szybkości oparte na IP. * **Kroki łagodzenia**: * Wprowadź solidne mechanizmy ograniczania szybkości i blokady konta. * Monitoruj podejrzane działania wskazujące na ataki brute-force. ## **Spróbuj użyć swojego tokena** * Testowanie, czy token resetowania atakującego może być użyty w połączeniu z e-mailem ofiary. * **Kroki łagodzenia**: * Upewnij się, że tokeny są powiązane z sesją użytkownika lub innymi atrybutami specyficznymi dla użytkownika. ## **Unieważnienie sesji przy wylogowaniu/resetowaniu hasła** * Zapewnienie, że sesje są unieważniane, gdy użytkownik się wylogowuje lub resetuje hasło. * **Kroki łagodzenia**: * Wprowadź odpowiednie zarządzanie sesjami, zapewniając, że wszystkie sesje są unieważniane po wylogowaniu lub resetowaniu hasła. ## **Unieważnienie sesji przy wylogowaniu/resetowaniu hasła** * Tokeny resetowania powinny mieć czas wygaśnięcia, po którym stają się nieważne. * **Kroki łagodzenia**: * Ustaw rozsądny czas wygaśnięcia dla tokenów resetowania i ściśle egzekwuj go po stronie serwera. ## Referencje * [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)
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami błędów! **Wgląd w Hacking**\ Zaangażuj się w treści, które zagłębiają się w emocje i wyzwania związane z hackingiem **Aktualności Hacking w czasie rzeczywistym**\ Bądź na bieżąco z dynamicznym światem hackingu dzięki aktualnym wiadomościom i wglądom **Najnowsze ogłoszenia**\ Bądź na bieżąco z najnowszymi nagrodami za błędy i istotnymi aktualizacjami platformy **Dołącz do nas na** [**Discord**](https://discord.com/invite/N3FrSbmwdy) i zacznij współpracować z najlepszymi hakerami już dziś! {% hint style="success" %} Ucz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Ucz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie HackTricks * Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)! * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Podziel się sztuczkami hackingowymi, przesyłając PR-y do repozytoriów** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
{% endhint %}