一个小型概念验证工具 — 向目标发送特定载荷,并检查 301/302 重定向响应,报告 Location 头。
本仓库仅用于教育/研究目的。请遵循负责任披露政策。以下是使用和构建说明。
该工具向目标域名发送请求,并附加以下载荷。如果服务器响应 301(永久移动)或 302(临时移动),则检查 Location 头以检测潜在漏洞。
载荷:/public/..%2F%5cgoogle.com%2F%3f%2F..%2F..
该程序通过 CheckRedirect 函数禁用 Go 的自动重定向跟随,从而允许检查初始响应。
您可以使用以下命令构建可执行文件(Windows .exe):
# Linux/macOS
go build -o cve-2025-4123 main.go
# Windows(PowerShell 或 CMD)
go build -o CVE-2025-4123.exe main.go
用法:CVE-2025-4123.exe [https://example.com]
示例:
./CVE-2025-4123.exe https://target.example.com
该程序执行以下操作:
os.Args[1])发送 GET 请求,并附加载荷。Location 头:VULN FOUND: <location>CVE-2025-4123 Not Found。CheckRedirect 回调打印:Redirected to <URL>。成功检测(示例):
VULN FOUND: https://google.com/
通过 CheckRedirect 回调跟踪重定向可能输出:
Redirected to https://google.com/
http.Get 会自动跟随 301/302 重定向。在此 PoC 中,使用 CheckRedirect 禁用自动跟随,从而允许直接访问 Location 头。Location 头可能不总是绝对 URL;它可能是相对路径或其他格式。在这种情况下,请使用 url.Parse 和 resp.Request.URL.ResolveReference 来构造完整 URL。--timeout 等标志。-o/--output,将结果保存为 JSON 或 CSV。Location 头。如果此 PoC 检测到真实漏洞,请联系目标组织的安全团队并负责任地报告。在做出任何公开披露之前,请与该组织协调。