
Outil de preuve de concept qui envoie une charge utile spécialement conçue à une cible et détecte les vulnérabilités de redirection ouverte en inspectant les réponses 301/302 et les en-têtes Location.
Un petit outil de preuve de concept — envoie une charge utile spécifique à une cible et vérifie les réponses de redirection 301/302, en rapportant l'en-tête Location.
Ce dépôt est destiné uniquement à des fins éducatives et de recherche. Suivez les politiques de divulgation responsable. Vous trouverez ci-dessous les instructions d'utilisation et de compilation.
Cet outil envoie une requête à un domaine avec la charge utile suivante ajoutée, et si le serveur répond avec un code 301 (Déplacé de façon permanente) ou 302 (Trouvé), il vérifie l'en-tête Location pour détecter une vulnérabilité potentielle.
Charge utile : /public/..%2F%5cgoogle.com%2F%3f%2F..%2F..
Le programme désactive le suivi automatique des redirections de Go via la fonction CheckRedirect, permettant d'inspecter la réponse initiale.
Vous pouvez compiler un exécutable (.exe Windows) avec les commandes suivantes :
# Linux/macOS
go build -o cve-2025-4123 main.go
# Windows (PowerShell ou CMD)
go build -o CVE-2025-4123.exe main.go
Usage: CVE-2025-4123.exe [https://example.com]
Exemple :
./CVE-2025-4123.exe https://target.example.com
Le programme effectue les opérations suivantes :
os.Args[1]) avec la charge utile ajoutée.Location : VULN FOUND: <location>CVE-2025-4123 Not Found.CheckRedirect : Redirected to <URL>.Détection réussie (exemple) :
VULN FOUND: https://google.com/
Le suivi des redirections via le rappel CheckRedirect peut afficher :
Redirected to https://google.com/
http.Get suit automatiquement les redirections 301/302. Dans ce PoC, CheckRedirect est utilisé pour désactiver le suivi automatique, permettant un accès direct à l'en-tête Location.Location peut ne pas toujours être une URL absolue ; il peut être relatif ou dans un autre format. Dans ce cas, utilisez url.Parse et resp.Request.URL.ResolveReference pour construire l'URL complète.--timeout.-o/--output pour enregistrer les résultats en JSON ou CSV.Location vides ou inattendus avec un parsing/normalisation robuste.Si ce PoC détecte une vulnérabilité réelle, contactez l'équipe de sécurité de l'organisation cible et signalez-la de manière responsable. Coordonnez-vous avec l'organisation avant toute divulgation publique.