
Инструмент класса proof-of-concept, который отправляет специально сформированную полезную нагрузку на целевую систему и обнаруживает уязвимости открытого перенаправления (open redirect) путём анализа ответов 301/302 и заголовков Location.
Небольшой proof-of-concept инструмент — отправляет специальный payload на цель и проверяет ответы с редиректом 301/302, сообщая заголовок Location.
Этот репозиторий предназначен только для образовательных/исследовательских целей. Соблюдайте политику ответственного раскрытия уязвимостей. Ниже приведены инструкции по использованию и сборке.
Этот инструмент отправляет запрос на домен с добавленным ниже payload, и если сервер отвечает кодом 301 (Moved Permanently) или 302 (Found), он проверяет заголовок Location для обнаружения потенциальной уязвимости.
Payload: /public/..%2F%5cgoogle.com%2F%3f%2F..%2F..
Программа отключает автоматическое следование редиректам Go через функцию CheckRedirect, что позволяет проверить исходный ответ.
Вы можете собрать исполняемый файл (Windows .exe) с помощью следующих команд:
# 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]
Пример:
./CVE-2025-4123.exe https://target.example.com
Программа делает следующее:
os.Args[1]) с добавленным payload.Location: VULN FOUND: <location>CVE-2025-4123 Not Found.CheckRedirect: Redirected to <URL>.Успешное обнаружение (пример):
VULN FOUND: https://google.com/
Отслеживание редиректов через callback 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 обнаружит реальную уязвимость, свяжитесь со службой безопасности целевой организации и сообщите о ней ответственно. Согласуйте с организацией действия перед любым публичным раскрытием.