
Сценарий PowerShell для проверки уязвимости веб-приложения к CVE-2025-29927
Этот PowerShell-скрипт предназначен для помощи специалистам по безопасности и системным администраторам в тестировании уязвимости CVE-2025-29927 в приложениях Next.js. Он проверяет, уязвимо ли целевое приложение к проблеме обхода промежуточного ПО (middleware), путём проверки версии Next.js и тестирования потенциальных рисков безопасности, связанных с реализацией middleware.
(x-powered-by: Next.js).x-middleware-subrequest.Запускайте из окна PowerShell с правами администратора:
.\test-cve-2025-29927.ps1 -TargetUrl <url>
# Пример:
.\test-cve-2025-29927.ps1 -TargetUrl "http://localhost:3000"
Скрипт проверяет, используется ли Next.js, по заголовку x-powered-by. Если Next.js обнаружен, он пытается извлечь версию из общих статических ресурсов, таких как framework.js и main.js, ища информацию об уязвимой версии, связанной с CVE-2025-29927.
Затем скрипт отправляет запрос с заголовком x-middleware-subrequest и проверяет, является ли ответ HTTP 200, что будет указывать на наличие уязвимости.
x-middleware-subrequest, чтобы предотвратить обход middleware.Оригинальная статья Рашида Аллама, обнаружившего эту уязвимость, доступна здесь.
Этот скрипт предназначен для тестирования активов, на которые у вас есть разрешение и авторизация, только против CVE-2025-29927.
Использование этого скрипта не даёт гарантии, что приложение уязвимо или не уязвимо, а только то, что элементы, которые ищет скрипт, присутствуют или отсутствуют. Автор этого скрипта не несёт ответственности за любые последствия, возникшие в результате его использования.
Используя этот скрипт, вы соглашаетесь взять на себя полную ответственность за свои действия. Убедитесь, что у вас есть явное разрешение перед тестированием любой системы, которая вам не принадлежит.