
Proof-of-concept tool that sends a crafted payload to a target and detects open redirect vulnerabilities by inspecting 301/302 responses and Location headers.
A small proof-of-concept tool — sends a specific payload to a target and checks for 301/302 redirect responses, reporting the Location header.
This repository is intended for educational/research purposes only. Follow responsible disclosure policies. Below are usage and build instructions.
This tool sends a request to a domain with the following payload appended, and if the server responds with 301 (Moved Permanently) or 302 (Found), it checks the Location header to detect a potential vulnerability.
Payload: /public/..%2F%5cgoogle.com%2F%3f%2F..%2F..
The program disables Go's automatic redirect following via the CheckRedirect function, allowing inspection of the initial response.
You can build an executable (Windows .exe) with the following commands:
# Linux/macOS
go build -o cve-2025-4123 main.go
# Windows (PowerShell or CMD)
go build -o CVE-2025-4123.exe main.go
Usage: CVE-2025-4123.exe [https://example.com]
Example:
./CVE-2025-4123.exe https://target.example.com
The program does the following:
os.Args[1]) with the payload appended.Location header: VULN FOUND: <location>CVE-2025-4123 Not Found.CheckRedirect callback: Redirected to <URL>.Successful detection (example):
VULN FOUND: https://google.com/
Redirect tracking via CheckRedirect callback might output:
Redirected to https://google.com/
http.Get automatically follows 301/302 redirects. In this PoC, CheckRedirect is used to disable automatic following, allowing direct access to the Location header.Location header may not always be an absolute URL; it could be relative or in another format. In such cases, use url.Parse and resp.Request.URL.ResolveReference to construct the full URL.--timeout.-o/--output to save results in JSON or CSV.Location headers with robust parsing/normalization.If this PoC detects a real vulnerability, contact the target organization's security team and report it responsibly. Coordinate with the organization before making any public disclosure.