React Server Components Remote RCE Exploitation Tool — это инструмент для тестирования безопасности, специально предназначенный для эксплуатации удалённого выполнения кода в React Server Components и Next.js. Имеет графический интерфейс, поддерживает несколько режимов атак и массовое сканирование.
⚠️ Отказ от ответственности: Данный инструмент предназначен только для авторизованного тестирования безопасности и соревнований CTF. Запрещается использовать его для нелегальных атак. Все последствия использования инструмента ложатся на пользователя.
🎯 Затронутые версии
React Server
React Server 19.0.0
React Server 19.0.1 (примечание: некоторые ранние патчи не полностью закрывают уязвимость)
React Server 19.1.* (все версии 19.1.x)
React Server 19.2.0
Next.js
Next.js v15.0.0 - v15.0.4
Next.js v15.1.0 - v15.1.8
Next.js v15.2.x - v15.5.6
Next.js v16.0.0 - v16.0.6
Next.js v14.3.0-canary.77 и более новые Canary версии
Другие затронутые компоненты
Dify — платформа разработки AI-приложений
NextChat — фреймворк для чат-приложений
Другие приложения, построенные на уязвимых версиях React Server Components или Next.js
Внимание: Если ваше приложение использует любые из перечисленных версий, рекомендуется немедленно обновиться до безопасной версии или принять соответствующие меры защиты.
✨ Функциональные возможности
🎯 Основные функции
Обнаружение уязвимости: Быстрая проверка цели на наличие RCE в React Server Components / Next.js
Вывод результатов команд: Прямое выполнение системных команд с получением вывода
Внедрение memory shell (WebShell в память): Инъекция персистентного WebShell на целевой сервер
Reverse Shell: Получение интерактивной оболочки целевой системы
Массовое сканирование: Поддержка массовой проверки нескольких целевых URL для быстрого выявления уязвимых систем
🔧 Вспомогательные функции
Поддержка прокси: Возможность настройки HTTP-прокси (например, Burp Suite) для анализа трафика
Пользовательские заголовки: Добавление пользовательских HTTP-заголовков для обхода простых защит
Логирование в реальном времени: Отображение логов операций в реальном времени для отслеживания процесса тестирования
Настройка таймаута: Возможность задать таймаут запроса для адаптации к различным сетевым условиям
🚀 Быстрый старт
Требования к окружению
Java 8 или выше
ОС Windows / Linux / macOS
Запуск инструмента
Дважды щелкните по файлу React Server Components 远程RCE.jar
Или запустите из командной строки:
root@kitploit:~
java -jar React Server Components 远程RCE.jar
При первом запуске отобразится отказ от ответственности. Пожалуйста, внимательно прочитайте и согласитесь для продолжения.
📋 Руководство по использованию
1️⃣ Базовая конфигурация
Перед использованием любой функции необходимо настроить базовую информацию:
Целевой URL: Введите адрес целевого сайта (например, http://192.168.1.100:3000)
Путь атаки: Путь приложения (по умолчанию: /apps, можно изменить в зависимости от цели)
Таймаут: Время ожидания ответа в секундах (по умолчанию: 30 секунд)
Пользовательские заголовки: Опционально, одна строка на заголовок, формат Header-Name: value
2️⃣ Обнаружение уязвимости
Заполните целевой URL и базовую конфигурацию
Нажмите кнопку "Проверить уязвимость"
Дождитесь результата проверки; инструмент автоматически определит, есть ли уязвимость на цели
Подсказка: Рекомендуется сначала выполнить обнаружение уязвимости, чтобы убедиться в её наличии перед дальнейшими действиями.
🎮 Режимы атаки (подробно)
Режим 1: Вывод команд
Когда использовать: для выполнения системных команд и просмотра результата.
Инструкции:
Переключитесь на вкладку "Вывод команд"
Введите команду в поле ввода (например: whoami, ipconfig, ls -la)
Нажмите кнопку "Выполнить команду"
Просмотрите результат выполнения в нижней текстовой области
Примеры полезных команд:
Windows: whoami, ipconfig, dir, net user
Linux: whoami, ifconfig, ls -la, uname -a
Режим 2: Внедрение memory shell
Когда использовать: для создания постоянного бэкдора на целевом сервере.
Инструкции:
Переключитесь на вкладку "Внедрение memory shell"
Задайте путь доступа к memory shell (например: /exec)
Нажмите кнопку "Внедрить memory shell"
После успешного внедрения выполняйте команды следующим образом:
root@kitploit:~
Откройте: http://целевой_адрес/exec?cmd=whoami
Примечания:
Memory shell регистрируется в памяти целевого приложения, не оставляя файлов на диске
После перезагрузки сервера memory shell перестаёт работать
Команды передаются через URL-параметр cmd
Режим 3: Reverse Shell
Когда использовать: для получения интерактивной оболочки целевой системы.
Инструкции:
Запустите прослушивание на локальной машине (например, с помощью netcat):
root@kitploit:~
nc -lvnp 4444
Переключитесь на вкладку "Reverse Shell"
Введите IP для прослушивания (IP вашей машины)
Введите порт для прослушивания (например: 4444)
Нажмите кнопку "Отправить reverse shell"
Вернитесь в окно netcat и ожидайте подключения
Важные замечания:
Убедитесь, что целевой сервер может связаться с вашим IP и портом
Межсетевой экран должен разрешать входящие соединения на указанный порт
В реальной среде возможны ограничения сетевой политики
Режим 4: Массовое сканирование
Когда использовать: для массового сканирования нескольких целей на наличие уязвимости.
Инструкции:
Переключитесь на вкладку "Массовое сканирование"
Введите список целевых URL в текстовое поле (по одному на строку)
Нажмите кнопку "Начать сканирование"
Просмотрите результаты; инструмент отметит цели с уязвимостью
⚙️ Расширенная конфигурация
Настройка HTTP-прокси
Используется для перенаправления трафика в такие инструменты, как Burp Suite, для анализа запросов и ответов.
Инструкции:
Нажмите в верхнем меню "Настройки" → "Настройки прокси"
Выберите "Включить"
Введите хост прокси (например: 127.0.0.1)
Введите порт прокси (например: 8080)
Нажмите "Сохранить"
Настройка Burp Suite:
Убедитесь, что прослушиватель прокси Burp Suite запущен
Адрес прослушивания по умолчанию: 127.0.0.1:8080
В Burp можно перехватывать и изменять все запросы, отправляемые инструментом
Просмотр статуса прокси:
После настройки в правом верхнем углу интерфейса отображается статус прокси
Зелёный — включено, серый — не настроено
🛡️ Рекомендации по безопасности
Используйте только в авторизованной среде: Убедитесь, что у вас есть явное разрешение на тестирование цели.
Не используйте на продуктивных системах: Избегайте повреждения продуктивных систем.
Защищайте тестовые данные: Конфиденциальная информация, полученная в процессе тестирования, должна надежно храниться.
Соблюдайте законодательство: Несанкционированное тестирование на проникновение может нарушать закон.
Использование на CTF: Инструмент подходит для CTF, полигонов и других законных сред.
❓ Часто задаваемые вопросы
В1: Что делать, если появляется сообщение "Уязвимость не обнаружена"?
Возможные причины:
Целевой URL неверен или сервис не запущен
Уязвимости нет на цели
Неправильно настроен путь атаки
Сеть недоступна или запросы блокируются межсетевым экраном
Решения:
Проверьте, доступен ли целевой URL
Попробуйте изменить параметр пути атаки
Проверьте сетевое соединение и настройки прокси
В2: Команда выполняется, но нет вывода?
Возможные причины:
Команда выполняется успешно, но без вывода (например, некоторые команды записи в файл)
Ограничения прав на целевой системе
Ошибка синтаксиса команды
Решения:
Попробуйте выполнить команду с явным выводом (например, id)
Проверьте правильность синтаксиса команды
Просмотрите подробную информацию в нижней области логов
В3: Reverse shell не подключается?
Возможные причины:
Цель не может связаться с вашим прослушивающим IP
Межсетевой экран блокирует соединение
Порт занят
Решения:
Проверьте, запущен ли прослушиватель (команда nc -lvnp порт)
Проверьте настройки межсетевого экрана, разрешите указанный порт
Убедитесь, что IP адрес введён правильно (если цель и вы в одной локальной сети, используйте внутренний IP)
В4: Как просмотреть подробные запросы и ответы?
Решение:
Настройте HTTP-прокси (например, Burp Suite)
Просматривайте полный HTTP-трафик в инструменте прокси
В нижней области логов также отображается ключевая информация
📞 Техническая поддержка
Автор: CrabSec
Версия: v1.0.0
📜 Уведомление об авторских правах
Данный инструмент предназначен только для обучения и авторизованного тестирования безопасности. Все последствия использования инструмента ложатся на пользователя; разработчик не несёт ответственности.
Соблюдайте законы о кибербезопасности и соответствующие нормативные акты. Будьте этичным исследователем безопасности!