Passwort-Reset-Poisoning mit Host-Header-Injection

Feb 04 2023
Hallo Leute, ich bin Bharat Singh, ein Sicherheitsforscher und Bug Hunter. Ich bin hier mit einem erstaunlichen Artikel über Password Reset Poisoning mit Host-Header-Injection-Schwachstelle, den ich kürzlich auf einem VDP gefunden habe und der mit einem HOF belohnt wurde.

Hallo Leute, ich bin Bharat Singh , ein Sicherheitsforscher und Bug Hunter. Ich bin hier mit einem erstaunlichen Artikel über Password Reset Poisoning mit Host-Header-Injection-Schwachstelle, den ich kürzlich auf einem VDP gefunden habe und der mit einem HOF belohnt wurde.

Was ist Host-Header-Injection?

Bei der Host-Header-Injection handelt es sich um eine Schwachstelle, die es einem Angreifer ermöglicht, den in einer HTTP-Anfrage gesendeten Host-Header zu manipulieren. Durch Manipulation des Host-Headers kann ein Angreifer den Webserver anweisen, eine andere Website oder Anwendung bereitzustellen. Dies kann verwendet werden, um verschiedene Arten von Angriffen durchzuführen, wie z. B. Phishing, Cross-Site-Scripting (XSS) oder sogar die Weiterleitung eines Benutzers auf eine bösartige Website mit Passwort-Reset-Poisoning.

Lassen Sie uns nun in die Hauptgeschichte eintauchen, wie ich diesen Fehler gefunden habe und wie Sie diese Sicherheitslücke finden und ausnutzen können.

Geschichte des Käfers

Ich war auf der Suche nach einem VDP (Vulnerability Disclosure Program), einer Video-Streaming-Plattform, auf der man Filme und Serien ansehen kann. Ich habe diese Webanwendung etwa eine Stunde lang getestet, hatte aber kein Glück und beschloss schließlich, die Funktion zum Zurücksetzen des Passworts zu testen, aber ich hatte nicht damit gerechnet, dort eine Schwachstelle zu finden.

Nachdem ich auf die Option „Passwort vergessen“ geklickt hatte, gab ich meine E-Mail-Adresse ein, fing diese Anfrage in meiner Burp Suite ab und schickte sie an den Repeater.

Ich habe beschlossen, mit dieser Anfrage herumzuspielen und habe den Host auf evil.com geändert, aber die Antwort gibt einen Fehler aus. Deshalb habe ich unterhalb des Host-Parameters einen zusätzlichen Parameter hinzugefügt, der X-Forwarded-Host mit dem Wert evil.com ist, etwa so:

Host: target.com

X-Forwarded-Host: evil.com

Und es gab mir eine 200-OK-Antwort, die ich normalerweise bekam, aber in den meisten Fällen bleibt der Link zum Zurücksetzen des Passworts derselbe, da er sich im Backend nicht ändert. Aber in diesem Fall habe ich den geänderten Link zum Zurücksetzen des Passworts auf meine E-Mail-Adresse beim Host evil.com erhalten:

https://evil.com/account/change-password/token=token

Hier sind einige Möglichkeiten, wie Sie Passwort-Reset-Poisoning mit Host-Header-Injection erkennen können:

>> Versuchen Sie, den Host der Passwort-Reset-Anfrage direkt zu ändern

Host: evil.com

>> Oder versuchen Sie es, indem Sie X-Forwarded-Host hinzufügen

Host: target.com

X-Forwarded-Host: evil.com

>> Versuchen Sie, einen weiteren Host-Header mit einem anderen Wert hinzuzufügen

Host: target.com

Host: evil.com

Schritte zum Reproduzieren:

1. Gehen Sie zur Seite „Passwort zurücksetzen“ und geben Sie die E-Mail-Adresse für den Link zum Zurücksetzen des Passworts ein.

2. Fangen Sie nun die Anfrage in Burp Suite ab und senden Sie sie an den Repeater.

3. Fügen Sie bei jedem Host einen Parameter X-Forwarded-Host unterhalb des Host-Parameters hinzu. (Probieren Sie auch die oben genannten Techniken aus)

4. Wenn Sie vom injizierten Host einen Link zum Zurücksetzen des Passworts erhalten, liegt der Fehler vor.

Auswirkung:

Ein Angreifer kann Benutzer auf eine bösartige Website umleiten, wodurch der Link/das Token zum Zurücksetzen des Passworts des Benutzers verloren geht, was zur vollständigen Kontoübernahme führt, oder ein Angreifer kann über den bösartigen Link Malware an das System des Benutzers senden.

Ende:

Wenn Sie diesen Artikel hilfreich finden, klicken Sie bitte auf den -Klatsch-Button. Vergessen Sie auch nicht, mich auf TWITTER und LINKEDIN zu kontaktieren, um regelmäßige Updates zu erhalten.