Reset/Forgotten Password Bypass

  • Der HTTP Referer-Header kann den Passwortzurücksetz-Token leaken, wenn er in der URL enthalten ist. Dies kann passieren, wenn ein Benutzer auf einen Link einer Drittanbieter-Website klickt, nachdem er eine Passwortzurücksetzung angefordert hat.

  • Auswirkungen: Potenzieller Kontoübernahme durch Cross-Site Request Forgery (CSRF)-Angriffe.

  • Ausnutzung: Um zu überprüfen, ob ein Passwortzurücksetz-Token im Referer-Header geleakt wird, fordern Sie eine Passwortzurücksetzung an Ihre E-Mail-Adresse an und klicken Sie auf den bereitgestellten Zurücksetzlink. Ändern Sie Ihr Passwort nicht sofort. Stattdessen navigieren Sie zu einer Drittanbieter-Website (wie Facebook oder Twitter), während Sie die Anfragen mit Burp Suite abfangen. Überprüfen Sie die Anfragen, um zu sehen, ob der Referer-Header den Passwortzurücksetz-Token enthält, da dies sensible Informationen an Dritte offenlegen könnte.

  • Referenzen:

Passwortzurücksetzung-Poisoning

  • Angreifer können den Host-Header während der Passwortzurücksetz-Anfragen manipulieren, um den Zurücksetzlink auf eine bösartige Seite zu verweisen.

  • Auswirkungen: Führt zu potenzieller Kontoübernahme durch das Leaken von Zurücksetzungstoken an Angreifer.

  • Minderungsmaßnahmen:

  • Validieren Sie den Host-Header gegen eine Whitelist erlaubter Domains.

  • Verwenden Sie sichere, serverseitige Methoden zur Generierung absoluter URLs.

  • Patch: Verwenden Sie $_SERVER['SERVER_NAME'], um Passwortzurücksetz-URLs zu konstruieren, anstatt $_SERVER['HTTP_HOST'].

  • Referenzen:

Passwortzurücksetzung durch Manipulation des E-Mail-Parameters

Angreifer können die Passwortzurücksetz-Anfrage manipulieren, indem sie zusätzliche E-Mail-Parameter hinzufügen, um den Zurücksetzlink umzuleiten.

  • Fügen Sie die E-Mail des Angreifers als zweiten Parameter mit & hinzu.

POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
  • Fügen Sie die Angreifer-E-Mail als zweiten Parameter mit %20 hinzu

POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
  • Fügen Sie die Angreifer-E-Mail als zweiten Parameter mit | hinzu

POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
  • Fügen Sie die E-Mail des Angreifers als zweiten Parameter mit cc hinzu

POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
  • Fügen Sie die E-Mail des Angreifers als zweiten Parameter unter Verwendung von Bcc hinzu

POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
  • Fügen Sie die Angreifer-E-Mail als zweiten Parameter mit , hinzu

POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
  • Fügen Sie die Angreifer-E-Mail als zweiten Parameter im JSON-Array hinzu

POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}

Ändern von E-Mail und Passwort eines beliebigen Benutzers über API-Parameter

  • Angreifer können E-Mail- und Passwortparameter in API-Anfragen ändern, um die Kontodaten zu ändern.

POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})

Keine Ratenbegrenzung: E-Mail-Bombardierung

  • Mangelnde Ratenbegrenzung bei Passwortzurücksetzanforderungen kann zu E-Mail-Bombardierung führen, wodurch der Benutzer mit Rücksetz-E-Mails überflutet wird.

  • Minderungsmaßnahmen:

  • Implementieren Sie eine Ratenbegrenzung basierend auf IP-Adresse oder Benutzerkonto.

  • Verwenden Sie CAPTCHA-Herausforderungen, um automatisierten Missbrauch zu verhindern.

  • Referenzen:

Herausfinden, wie das Passwort-Zurücksetz-Token generiert wird

  • Das Verständnis des Musters oder der Methode hinter der Token-Generierung kann dazu führen, dass Tokens vorhergesagt oder brute-forced werden. Einige Optionen:

  • Basierend auf Zeitstempel

  • Basierend auf der Benutzer-ID

  • Basierend auf der E-Mail des Benutzers

  • Basierend auf Vorname und Nachname

  • Basierend auf Geburtsdatum

  • Basierend auf Kryptographie

  • Minderungsmaßnahmen:

  • Verwenden Sie starke, kryptografische Methoden zur Token-Generierung.

  • Stellen Sie ausreichende Zufälligkeit und Länge sicher, um Vorhersehbarkeit zu verhindern.

  • Tools: Verwenden Sie Burp Sequencer, um die Zufälligkeit von Tokens zu analysieren.

Erratbare UUID

  • Wenn UUIDs (Version 1) erratbar oder vorhersehbar sind, können Angreifer sie brute-forcen, um gültige Rücksetz-Token zu generieren. Überprüfen Sie:

UUID Insecurities
  • Minderungsmaßnahmen:

  • Verwenden Sie GUID Version 4 für Zufälligkeit oder implementieren Sie zusätzliche Sicherheitsmaßnahmen für andere Versionen.

  • Tools: Verwenden Sie guidtool zur Analyse und Generierung von GUIDs.

Antwortmanipulation: Schlechte Antwort durch gute ersetzen

  • Manipulation von HTTP-Antworten, um Fehlermeldungen oder Einschränkungen zu umgehen.

  • Minderungsmaßnahmen:

  • Implementieren Sie serverseitige Prüfungen, um die Integrität der Antwort sicherzustellen.

  • Verwenden Sie sichere Kommunikationskanäle wie HTTPS, um Man-in-the-Middle-Angriffe zu verhindern.

  • Referenz:

Verwendung eines abgelaufenen Tokens

  • Testen, ob abgelaufene Tokens weiterhin für das Zurücksetzen des Passworts verwendet werden können.

  • Minderungsmaßnahmen:

  • Implementieren Sie strenge Token-Ablaufrichtlinien und validieren Sie das Token-Ablaufdatum serverseitig.

Brute Force Passwort-Zurücksetz-Token

  • Versuch, das Rücksetz-Token mit Tools wie Burpsuite und IP-Rotator zu brute-forcen, um IP-basierte Ratenlimits zu umgehen.

  • Minderungsmaßnahmen:

  • Implementieren Sie robuste Ratenbegrenzungs- und Kontosperrmechanismen.

  • Überwachen Sie verdächtige Aktivitäten, die auf Brute-Force-Angriffe hindeuten.

Versuchen Sie, Ihr Token zu verwenden

  • Testen, ob das Rücksetz-Token eines Angreifers in Verbindung mit der E-Mail des Opfers verwendet werden kann.

  • Minderungsmaßnahmen:

  • Stellen Sie sicher, dass Tokens an die Benutzersitzung oder andere benutzerspezifische Attribute gebunden sind.

Sitzungsinvalidierung bei Abmeldung/Passwortzurücksetzung

  • Sicherstellen, dass Sitzungen ungültig werden, wenn sich ein Benutzer abmeldet oder sein Passwort zurücksetzt.

  • Minderungsmaßnahmen:

  • Implementieren Sie ein angemessenes Sitzungsmanagement, um sicherzustellen, dass alle Sitzungen bei Abmeldung oder Passwortzurücksetzung ungültig werden.

Sitzungsinvalidierung bei Abmeldung/Passwortzurücksetzung

  • Rücksetz-Token sollten eine Ablaufzeit haben, nach der sie ungültig werden.

  • Minderungsmaßnahmen:

  • Setzen Sie eine angemessene Ablaufzeit für Rücksetz-Token fest und setzen Sie diese serverseitig strikt durch.

Referenzen

Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!

Hacking Einblicke Engagieren Sie sich mit Inhalten, die in die Aufregung und Herausforderungen des Hackens eintauchen

Echtzeit-Hack-Nachrichten Bleiben Sie auf dem Laufenden mit der schnelllebigen Hack-Welt durch Echtzeit-Nachrichten und Einblicke

Neueste Ankündigungen Bleiben Sie informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates

Treten Sie uns bei Discord und beginnen Sie noch heute mit den besten Hackern zusammenzuarbeiten!

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

Last updated