Zuschreibung: Umgehung der Authentifizierung durch Offenlegung von Informationen @ PortSwigger Academy

Nov 25 2022
Dieser Artikel für das Labor Authentifizierungsumgehung durch Offenlegung von Informationen ist Teil meiner Walkthrough-Serie für die Web Security Academy von PortSwigger. Lernpfad: Serverseitige Themen → Offenlegung von Informationen Python-Skript: Skript.

Dieser Artikel für das Lab Authentifizierungsumgehung durch Offenlegung von Informationen ist Teil meiner Walkthrough-Serie für die Web Security Academy von PortSwigger .

Lernpfad : Serverseitige Themen → Offenlegung von Informationen

Python-Skript: script.py

Beschreibung des Labors

Schritte

Analyse

Die Laboranwendung ist eine Shop-Website mit sehr interessanten Produkten. Wie üblich ist der erste Schritt die Überprüfung der Website.

Nachdem Sie ein wenig herumgeblättert und sich mit den bekannten Anmeldeinformationen angemeldet haben, wird nichts allzu Interessantes angezeigt. Zeit, die Anfragen in Burp zu überprüfen. Da ist auch nichts Interessantes.

Der Admin-Endpunkt wurde in einigen vorherigen Labs unter gefunden /admin. Aber um zu vermeiden, dieses Wissen zu nutzen, kann ich mehrere Mittel zur Inhaltserkennung verwenden. Burp Professional verfügt über eine solche Funktionalität, und mehrere gute kostenlose Tools ermöglichen auch das Auffinden von Inhalten.

Die, die ich hier verwende, ist ffuf zusammen mit den großartigen Wortlisten, die von SecLists bereitgestellt werden :

Besuch des Endpunkts

Ich besuche diese Seite, um diese Nachricht zu erhalten:

Es werden keine weiteren Informationen gegeben.

Eine gängige Methode zur Weitergabe von Ursprungs-IPs an einen Webserver (wird in Proxy- oder Lastausgleichsszenarien verwendet) ist der X-Forwarded-ForHeader. Dies funktioniert hier jedoch nicht (und die Laborbeschreibung besagt, dass es sich sowieso um einen benutzerdefinierten Header handelt).

Zwei HTTP-Verben können verwendet werden, um zusätzliche Informationen zu erhalten, OPTIONSund TRACE. Letzteres führt zu einem interessanten Ergebnis:

Geben Sie einen benutzerdefinierten Header an

Jetzt, da ich den Header kenne, wird der Zugriff auf die Admin-Oberfläche einfach. Ich muss sicherstellen, dass der benutzerdefinierte Header mit jeder Anfrage gesendet wird, also füge ich eine Match and ReplaceRegel hinzu, um diesen neuen Header immer zu Anfragen hinzuzufügen.

Ich verwende 127.0.0.1als Inhalt, um der Anwendung vorzutäuschen, dass die Anfrage von stammt localhost.

Laden Sie jetzt einfach die Seite im Browser neu, greifen Sie auf das Admin-Panel zu und löschen Sie den Benutzer carlos, um das Lab zu lösen:

Ursprünglich veröffentlicht auf https://github.com .

New to Medium? Become a Medium member to access all stories on the platform and support me at no extra cost for you!

Von Infosec Writeups: In der Infosec kommt jeden Tag eine Menge auf, mit der es schwer ist, Schritt zu halten. Abonnieren Sie unseren wöchentlichen Newsletter , um KOSTENLOS die neuesten Infosec-Trends in Form von 5 Artikeln, 4 Threads, 3 Videos, 2 GitHub-Repos und -Tools sowie 1 Jobbenachrichtigung zu erhalten!