12 KiB
Reset/Forgotten Password Bypass
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Join HackenProof Discord 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 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
- HackerOne Report 272379
- Artykuł o wycieku tokenów resetowania hasła
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-i.
- Poprawka: Użyj
$_SERVER['SERVER_NAME']
do konstruowania URL-i resetowania hasła zamiast$_SERVER['HTTP_HOST']
. - Referencje:
- Artykuł Acunetix o zatruciu resetowania hasła
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 &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
- Dodaj email atakującego jako drugi parametr używając %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
- Dodaj email atakującego jako drugi parametr używając |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
- Dodaj email atakującego jako drugi parametr używając cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
- Dodaj email atakującego jako drugi parametr używając bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
- Dodaj email atakującego jako drugi parametr, używając ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
- Dodaj email atakującego jako drugi parametr w tablicy json
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 zapytań lub zapytań z parametrami, aby zapobiec atakom typu injection.
- Referencje:
- 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
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.
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
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
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 {% 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 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
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
Dołącz do serwera HackenProof Discord, 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 o 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 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)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się trikami hackingowymi, przesyłając PR-y do repozytoriów HackTricks i HackTricks Cloud.