Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
react2shell-poc-CVE-2025-55182 — Эксплойт Proof-of-concept для CVE-2025-55182, критической уязвимости RCE в Next.js Server Actions. Использует небезопасную десериализацию в протоколе React Flight для выполнения произвольных команд через prototype pollution и sandbox bypass. | Kitploit
Инструменты/GitHubGitHub/tamagorengs/react2shell-poc-cve-2025-55182
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийОбучение и ОбразованиеРазработка Полезной Нагрузки
GitHubtamagorengs/react2shell-poc-cve-2025-55182

react2shell-poc-CVE-2025-55182

Эксплойт Proof-of-concept для CVE-2025-55182, критической уязвимости RCE в Next.js Server Actions. Использует небезопасную десериализацию в протоколе React Flight для выполнения произвольных команд через prototype pollution и sandbox bypass.

Репозиторий
28 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

React2Shell PoC (CVE-2025-55182)

Скрипт Proof-of-Concept (PoC) для React2Shell (CVE-2025-55182), критической уязвимости удаленного выполнения кода (RCE), затрагивающей приложения Next.js, использующие Server Actions.

[!WARNING] Отказ от ответственности: Этот инструмент предназначен только для образовательных и авторизованных целей тестирования. Я не несу ответственности за неправильное использование.

Описание

Этот скрипт эксплуатирует уязвимость небезопасной десериализации в протоколе "Flight" компонентов React Server. Он позволяет неавторизованным злоумышленникам выполнять произвольный JavaScript-код на сервере, что приводит к частичному удаленному выполнению кода (RCE).

Возможности

  • Надежная полезная нагрузка: Использует проверку совместимости для поиска require (global.require или через конструктор модуля), что гарантирует работу на современных версиях Node.js (v14+).
  • Динамическая конфигурация: Укажите целевой URL и команду через флаги CLI.
  • Обработка ошибок: Корректная обработка ошибок подключения.

Установка

  1. Клонируйте репозиторий.
  2. Установите зависимости:
root@kitploit:~
pip install -r requirements.txt

Использование

root@kitploit:~
python3 react2shell.py -u <TARGET_URL> [-c <COMMAND>]
АргументОписаниеПо умолчанию
-u, --urlОбязательный. Целевой URL (например, http://localhost:3000/).N/A
-c, --cmdНеобязательный. Команда для выполнения на сервере.id

Примеры

Проверка идентификации пользователя:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/

Просмотр содержимого каталога:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/ -c "ls -la"

Чтение конфиденциального файла:

root@kitploit:~
python3 react2shell.py -u http://127.0.0.1:3000/ -c "cat /etc/passwd"

Технический анализ

Эксплойт использует цепочку Prototype Pollution (загрязнение прототипа) и небезопасной десериализации в обработке Server Actions в Next.js для React Server Components (RSC).

  1. Точка входа: Заголовок Next-Action сигнализирует серверу о необходимости обработки Server Action.
  2. Prototype Pollution: JSON-полезная нагрузка внедряет вредоносное свойство then ("$1:__proto__:then"). Это заставляет асинхронный обработчик запросов сервера воспринимать полезную нагрузку как "Thenable" (объект, похожий на Promise).
  3. Внедрение кода: Когда сервер пытается разрешить этот поддельный Promise, он обрабатывает объект _response. Поле _prefix обычно используется для внутренней буферизации потока, но, манипулируя им, мы можем внедрить необработанный JavaScript.
  4. Обход песочницы: В современных средах Next.js/Webpack функция require часто удаляется из глобальной области видимости для предотвращения RCE. Скрипт обходит это, проходя по цепочке прототипов process.mainModule:
    root@kitploit:~
    var require = global.require || global.process.mainModule.constructor._load;
    
    Это позволяет получить внутренний загрузчик модулей, что дает нам возможность импортировать child_process и выполнять системные команды.
  5. Выполнение и эксфильтрация: Внедренный код выполняется синхронно (execSync), а вывод выбрасывается как объект Error. Эта ошибка сериализуется и возвращается клиенту в теле HTTP-ответа, что позволяет нам увидеть вывод команды.

Благодарности

Этот инструмент был разработан при содействии Gemini 3 Pro.

Скачать инструмент