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

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

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

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

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

Категории

Все категории
Loading categories
NSE_CVE-2025-55182 — Nmap NSE-скрипт для сканирования React2Shell (CVE-2025-55182) | Kitploit
Инструменты/GitHubGitHub/jahaziellem/nse_cve-2025-55182
Сканеры уязвимостейГенерация полезной нагрузкиЭксплуатацияЭксплуатация веб-приложенийОбход WAFВеб-безопасностьТестирование на ПроникновениеОбучение и Образование
GitHubjahaziellem/nse_cve-2025-55182

NSE_CVE-2025-55182

Nmap NSE-скрипт для сканирования React2Shell (CVE-2025-55182)

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

Популярное

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

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

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

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

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

NSE_CVE-2025-55182

Nmap NSE-скрипт для сканирования React2Shell (CVE-2025-55182)

Дисклеймер Приведённый ниже код предоставлен исключительно в образовательных и исследовательских целях. Любое использование данного скрипта осуществляется исключительно на усмотрение и под ответственность пользователя.

Этот сканер может выдавать ложные срабатывания или неубедительные результаты, поэтому обязанность пользователя — проверять и подтверждать все полученные находки. Автор не несёт ответственности за неправомерное использование, ущерб или непредвиденные последствия, возникшие в результате выполнения этого кода.

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

Сценарий обнаружения удалённого выполнения кода React2Shell (CVE-2025-55182)

Автор: Kevin Leon
Категории: discovery, vuln, intrusive Тип скрипта: Nmap NSE


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

root@kitploit:~
nmap --script http-vuln-cve2025-55182.nse -p- <target>

nmap --script http-vuln-cve2025-55182.nse -p3000,3001,3002 <target>

nmap --script http-vuln-cve2025-55182.nse \
     --script-args=http-vuln-cve2025-55182.waf_bypass=true <target>

Пример вывода

root@kitploit:~
PORT     STATE SERVICE
3000/tcp open  ppp
| http-vuln-cve2025-55182:
|   VULNERABLE:
|   React2Shell Remote Code Execution (RCE)
|     State: VULNERABLE
|     IDs:  CVE:2025-55182
|     Risk factor: High  CVSS: 10.0
|     Disclosure date: 2025-12-03
|     References:
|       https://react.dev/blog/2025/12/03/critical-security-vulnerability-in-react-server-components
|       https://nvd.nist.gov/vuln/detail/CVE-2025-55182
|       https://github.com/assetnote/react2shell-scanner
|_      https://github.com/msanft/CVE-2025-55182

Этап определения фреймворка

Перед попыткой эксплуатации скрипт проверяет, что цель, вероятно, использует:

  • Next.js
  • React Server Components

Методы обнаружения

Скрипт выполняет начальный запрос:

root@kitploit:~
http.get(host, port, "/")

и проверяет:

  1. Заголовки ответа В поисках:
  • X-Powered-By: next.js
  • X-Powered-By: react
  1. Индикаторы в теле HTML Если тело содержит:
  • _next (признак статических ресурсов Next.js)

То цель считается потенциально уязвимой.

Конструирование границ и полезной нагрузки

Генерация multipart-границы

Скрипт генерирует рандомизированную границу в формате WebKit:

root@kitploit:~
----WebKitFormBoundary<random 16 chars>

Она используется для эксплуатации через multipart/form-data.

Два режима полезной нагрузки

В зависимости от аргументов пользователя:

  1. Простая эксплуатирующая нагрузка

    • Режим по умолчанию
    • Минимальная нагрузка для запуска десериализации
  2. Нагрузка для обхода WAF

    • Активируется через:
root@kitploit:~
--script-args=http-vuln-cve2025-55182.waf_bypass=true

Включает больше полей и обфускацию для обхода промежуточного ПО.

Встроенная RCE-нагрузка

Внутри нагрузки скрипт внедряет:

root@kitploit:~
process.mainModule.require('child_process')
  .execSync('echo $((41*271))')

Эта команда вычисляется в 11111 и позже используется для проверки эксплуатации через определение redirect-дигеста.

Этап эксплуатации

Скрипт пытается эксплуатировать уязвимость, отправляя сформированную нагрузку методом POST на несколько известных RSC-эндпоинтов:

root@kitploit:~
/
/_action
/api/action
/api
/_next/data
/__rsc
/action
/server
/server/action

Каждый запрос отправляется как:

root@kitploit:~
http.post(host, port, path, header, payload)

Ожидаемые признаки эксплуатации

Случай A — HTTP 500 Server Error

Успешный сбой десериализации указывает на возможную уязвимость:

  • Сервер попытался обработать нагрузку
  • Произошла внутренняя ошибка (типично для React2Shell)

Случай B — наличие NEXT_REDIRECT-дигеста

Нагрузка принудительно вызывает серверный редирект:

root@kitploit:~
NEXT_REDIRECT;push;/login?a=11111;307;

Скрипт проверяет заголовки ответа на:

  • x-action-redirect
  • Перенаправление, содержащее известное значение 11111

Если найдено → Весьма вероятно уязвим

Отчёт об уязвимости

В зависимости от результата обнаружения скрипт формирует стандартный NSE-отчёт об уязвимости:

  • CVE
  • Оценка CVSS (10.0)
  • Описание
  • Ссылки
  • Состояние:
    • VULNERABLE
    • NOT_VULN

Диаграмма: полный процесс обнаружения и эксплуатации

root@kitploit:~
 ┌──────────────────────┐
 │ Start NSE Script     │
 └─────────────┬────────┘
               │
               ▼
    ┌────────────────────┐
    │ Request "/"        │
    │ Check headers/body │
    └──────────┬─────────┘
               │Yes
               ▼
    ┌────────────────────┐
    │ React/Next.js Detected? ── No ─▶ Exit (Not Vulnerable)
    └──────────┬─────────┘
               │Yes
               ▼
    ┌────────────────────┐
    │ Build multipart     │
    │ exploit payload     │
    └──────────┬─────────┘
               ▼
    ┌─────────────────────────────────┐
    │ Loop through RSC endpoints      │
    │ Send POST exploit payload       │
    └──────────┬──────────────────────┘
               │
     ┌─────────┴──────────────────────────────┐
     ▼                                        ▼
┌───────────────┐                     ┌───────────────────┐
│ HTTP 500?      │ YES               │ Redirect digest?   │ YES
└───────┬────────┘                     └────────┬──────────┘
        │NO                                     │NO
        ▼                                        ▼
   Continue testing                     Continue testing
         │                                        │
         └──────────────────────────────┬─────────┘
                                        ▼
                              ┌────────────────────┐
                              │ Vulnerable?        │
                              └──────────┬─────────┘
                                         ▼
                                 Generate Report

Ключевые технические особенности

  • Обнаружение нескольких фреймворков (React/Next.js)
  • Случайная генерация границ для реалистичных multipart-запросов
  • Два режима эксплуатации (простой и обход WAF)
  • Проверка множества эндпоинтов
  • Проверка специфических побочных эффектов RCE (redirect-дигест)
  • Интеграция с библиотекой уязвимостей Nmap
  • Неинтрузивная безопасная эксплуатация (без деструктивных команд)

Заключение

Этот скрипт обеспечивает тщательное, автоматизированное и безопасное обнаружение критической уязвимости React2Shell. Его многоуровневый подход к валидации гарантирует надёжное обнаружение при минимизации ложных срабатываний.

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