
Proof-of-Concept-Tool, das eine manipulierte Nutzlast an ein Ziel sendet und offene Weiterleitungs-Schwachstellen erkennt, indem es 301/302-Antworten und Location-Header untersucht.
Ein kleines Proof-of-Concept-Tool — sendet eine spezifische Payload an ein Ziel und prüft auf 301/302-Weiterleitungsantworten, wobei der Location-Header gemeldet wird.
Dieses Repository dient ausschließlich Bildungs- und Forschungszwecken. Befolgen Sie die Richtlinien zur verantwortungsvollen Offenlegung. Nachfolgend finden Sie Anweisungen zur Verwendung und zum Build.
Dieses Tool sendet eine Anfrage an eine Domain mit der folgenden angehängten Payload. Wenn der Server mit 301 (Moved Permanently) oder 302 (Found) antwortet, wird der Location-Header geprüft, um eine potenzielle Schwachstelle zu erkennen.
Payload: /public/..%2F%5cgoogle.com%2F%3f%2F..%2F..
Das Programm deaktiviert die automatische Weiterleitungsverfolgung von Go über die Funktion CheckRedirect, wodurch die Inspektion der ursprünglichen Antwort ermöglicht wird.
Sie können eine ausführbare Datei (Windows .exe) mit den folgenden Befehlen erstellen:
# Linux/macOS
go build -o cve-2025-4123 main.go
# Windows (PowerShell oder CMD)
go build -o CVE-2025-4123.exe main.go
Verwendung: CVE-2025-4123.exe [https://example.com]
Beispiel:
./CVE-2025-4123.exe https://target.example.com
Das Programm führt Folgendes aus:
os.Args[1]) mit der angehängten Payload.Location-Header ausgegeben: VULN FOUND: <location>CVE-2025-4123 Not Found ausgegeben.CheckRedirect-Callback ausgegeben: Redirected to <URL>.Erfolgreiche Erkennung (Beispiel):
VULN FOUND: https://google.com/
Die Weiterleitungsverfolgung über den CheckRedirect-Callback könnte Folgendes ausgeben:
Redirected to https://google.com/
http.Get automatisch 301/302-Weiterleitungen. In diesem PoC wird CheckRedirect verwendet, um die automatische Verfolgung zu deaktivieren und so direkten Zugriff auf den Location-Header zu ermöglichen.Location-Header ist möglicherweise nicht immer eine absolute URL; er könnte relativ oder in einem anderen Format vorliegen. Verwenden Sie in solchen Fällen url.Parse und resp.Request.URL.ResolveReference, um die vollständige URL zu konstruieren.--timeout hinzufügen.-o/--output hinzufügen, um Ergebnisse in JSON oder CSV zu speichern.Location-Header mit robuster Parsing-/Normalisierung behandeln.Wenn dieser PoC eine echte Schwachstelle erkennt, kontaktieren Sie das Sicherheitsteam der Zielorganisation und melden Sie diese verantwortungsvoll. Koordinieren Sie sich mit der Organisation, bevor Sie eine öffentliche Offenlegung vornehmen.