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

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

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

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

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

Категории

Все категории
Loading categories
vuln-app-CVE-2025-55182 — # Преднамеренно уязвимое приложение Next.js, демонстрирующее RCE через небезопасную десериализацию в React Server Components (CVE-2025-55182) Включает эксплойт-скрипты и интеграцию со сканером для исследований в области безопасности и обучения. | Kitploit
Инструменты/GitHubGitHub/zack0x01/vuln-app-cve-2025-55182
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHub
zack0x01/vuln-app-cve-2025-55182

vuln-app-CVE-2025-55182

# Преднамеренно уязвимое приложение Next.js, демонстрирующее RCE через небезопасную десериализацию в React Server Components (CVE-2025-55182) Включает эксплойт-скрипты и интеграцию со сканером для исследований в области безопасности и обучения.

Репозиторий
20819 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

Уязвимое приложение Next.js RSC - CVE-2025-55182

⚠️ ВНИМАНИЕ: Это приложение намеренно уязвимо и предназначено только для образовательных целей и исследований в области безопасности. НЕ разворачивайте его в production и не выставляйте в интернет.

Обзор

Это уязвимое приложение Next.js, демонстрирующее CVE-2025-55182 — критическую уязвимость удалённого выполнения кода в React Server Components. Приложение стилизовано под профессиональную панель управления облачным хостингом, но намеренно содержит уязвимости для тестирования безопасности и образовательных целей.

Детали CVE:

  • Идентификатор CVE: CVE-2025-55182
  • Уровень опасности: Критический (CVSS 9.5)
  • Затронутые версии: React 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Воздействие: неаутентифицированное удалённое выполнение кода через небезопасную десериализацию
  • Ссылка: ProjectDiscovery CVE-2025-55182

🎯 Возможности

  • Уязвимый React 19.0.0 — использует уязвимую версию React Server Components
  • Профессиональный интерфейс — панель управления облачным хостингом
  • Server Actions — демонстрирует уязвимую конечную точку серверных действий
  • Эксплойт-скрипт — включённый curl_id.sh для проверки уязвимости

📋 Требования

  • Node.js 18+
  • npm или yarn
  • Python 3.9+ (для react2shell-scanner, необязательно)

🚀 Установка

  1. Установите зависимости:
root@kitploit:~
npm install --legacy-peer-deps
  1. Запустите сервер разработки:
root@kitploit:~
npm run dev

Приложение будет доступно по адресу http://localhost:3000

🧪 Тестирование уязвимости

Способ 1: использование встроенного эксплойт-скрипта

Репозиторий включает curl_id.sh — инструмент командной строки на основе шаблона Nuclei для эксплуатации CVE-2025-55182.

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

root@kitploit:~
# Execute id command (default)
./curl_id.sh -d localhost:3000 -c id

# Execute custom commands
./curl_id.sh -d localhost:3000 -c "whoami"
./curl_id.sh -d localhost:3000 -c "uname -a"
./curl_id.sh -d localhost:3000 -c "ls -la /tmp"

# Test remote domains (if vulnerable)
./curl_id.sh -d vulnapp.com -c id

Параметры:

  • -d, --domain: целевой домен/URL (по умолчанию: http://localhost:3000)
  • -c, --command: команда для выполнения (по умолчанию: id)

Способ 2: использование react2shell-scanner

  1. Клонируйте инструмент сканера:
root@kitploit:~
git clone https://github.com/assetnote/react2shell-scanner.git
cd react2shell-scanner
pip install -r requirements.txt
  1. Запустите сканер:
root@kitploit:~
python3 scanner.py -u http://localhost:3000
  1. Используйте режим безопасной проверки (без выполнения RCE):
root@kitploit:~
python3 scanner.py -u http://localhost:3000 --safe-check

Способ 3: ручное тестирование

Уязвимость можно эксплуатировать, отправив на сервер специально сформированный multipart POST-запрос со следующими параметрами:

  • заголовком Next-Action: x
  • заголовком X-Nextjs-Request-Id
  • заголовком X-Nextjs-Html-Request-Id
  • вредоносной multipart-нагрузкой формы, эксплуатирующей уязвимость десериализации

Точную структуру полезной нагрузки смотрите в репозитории react2shell-scanner.

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

Уязвимость существует в механизме десериализации React Server Components. Когда Next.js обрабатывает серверные действия, он десериализует полезную нагрузку запроса. Уязвимые версии React (19.0.0–19.2.0) не выполняют должную проверку и очистку десериализованных данных, что позволяет атакующим:

  1. Создавать вредоносные полезные нагрузки, эксплуатирующие загрязнение прототипа (prototype pollution)
  2. Выполнять произвольный код на сервере через process.mainModule.require('child_process').execSync()
  3. Добиваться удалённого выполнения кода без аутентификации
  4. Получать вывод команд в заголовке ответа X-Action-Redirect

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

Эксплойт использует атаку через загрязнение прототипа в процессе десериализации JSON. Структура полезной нагрузки включает:

  • свойство then, загрязняющее цепочку прототипов
  • объект _response с полем _prefix, содержащим JavaScript-код
  • код выполняется через execSync() и перенаправляет вывод в заголовок ответа

🛡️ Устранение уязвимости

Для устранения этой уязвимости:

  1. Обновите React до версии 19.2.1 или новее:
root@kitploit:~
npm install react@latest react-dom@latest
  1. Обновите Next.js до последней версии:
root@kitploit:~
npm install next@latest
  1. Просмотрите и обновите все зависимости:
root@kitploit:~
npm audit fix
  1. Проверьте исправление, запустив сканер повторно — он больше не должен обнаруживать уязвимость

📁 Структура проекта

root@kitploit:~
vuln-app-CVE-2025-55182/
├── app/
│   ├── actions.ts          # Vulnerable server action
│   ├── layout.tsx          # Root layout
│   └── page.tsx            # Main dashboard page
├── node_modules/           # Dependencies
├── curl_id.sh              # Exploit script for testing
├── package.json            # Project dependencies (vulnerable versions)
├── tsconfig.json           # TypeScript configuration
├── next.config.js          # Next.js configuration
├── .gitignore              # Git ignore rules
└── README.md               # This file

📚 Ссылки

  • Детали CVE-2025-55182
  • react2shell-scanner
  • Консультация по безопасности React
  • Консультация по безопасности Next.js
  • Журнал изменений Vercel
  • Оригинальный PoC от maple3142

⚖️ Правовой отказ от ответственности

Это приложение создано исключительно для исследований в области безопасности и образовательных целей.

  • НЕ ИСПОЛЬЗУЙТЕ это приложение в production-средах
  • НЕ РАЗВОРАЧИВАЙТЕ это приложение на публичных серверах
  • НЕ ИСПОЛЬЗУЙТЕ его для атак на системы без явного разрешения
  • ИСПОЛЬЗУЙТЕ его только в изолированных контролируемых средах для обучения

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

🤝 Вклад в проект

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

📝 Лицензия

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

🙏 Благодарности

  • Команда исследований безопасности Assetnote — оригинальное исследование уязвимости и инструмент сканера
  • maple3142 — раскрытие оригинального PoC для RCE
  • xEHLE_ — отражение вывода RCE в заголовке ответа
  • Nagli — дополнительные исследовательские работы
  • ProjectDiscovery — шаблон Nuclei для обнаружения

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

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