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

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

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

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

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

Категории

Все категории
Loading categories
PunchingBag-for-React2Shell — Преднамеренно уязвимое приложение Next.js для исследования безопасности CVE-2025-55182 и задач CTF | Kitploit
Инструменты/GitHubGitHub/machine-farmer/punchingbag-for-react2shell
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingИнструмент Удаленного ДоступаЛаборатории и Практика

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
GitHubmachine-farmer/punchingbag-for-react2shell

PunchingBag-for-React2Shell

Преднамеренно уязвимое приложение Next.js для исследования безопасности CVE-2025-55182 и задач CTF

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

🥊 PunchingBag — Платформа для исследований безопасности CVE-2025-55182

Next.js React Docker License CVE PunchingBag Platform

⚠️ ТОЛЬКО В ОБРАЗОВАТЕЛЬНЫХ ЦЕЛЯХ: Это намеренно уязвимое приложение, предназначенное для авторизованных исследований безопасности и CTF-задач. НЕ используйте эти методы на неавторизованных системах.

Намеренно уязвимое приложение Next.js 15.1.6, демонстрирующее CVE-2025-55182 (React2Shell) — критическую уязвимость удаленного выполнения кода в React Server Components. Создано для исследователей безопасности, пентестеров и студентов, чтобы практиковать техники эксплуатации в безопасной изолированной среде.


📋 Содержание

  • О CVE-2025-55182
  • Возможности
  • Предварительные требования
  • Установка
  • Использование
  • CTF-задачи
  • Руководство по эксплуатации
  • Структура проекта
  • Уведомление о безопасности
  • Вклад
  • Лицензия
  • Благодарности

🔍 О CVE-2025-55182

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

Детали уязвимости

  • ID CVE: CVE-2025-55182
  • Тип: Удаленное выполнение кода (RCE)
  • Оценка CVSS: 10.0 (Критическая)
  • Затронутые версии: Next.js 15.1.6 и более ранние версии с включенными React Server Components
  • Вектор атаки: Небезопасная десериализация в протоколе RSC Flight
  • Влияние: Полная компрометация системы, кража данных, повышение привилегий

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

Уязвимость возникает из-за неправильной обработки сериализованных данных в React Server Actions. Злоумышленники могут создавать вредоносные полезные нагрузки, которые обходят проверку и выполняют произвольный код на сервере через:

  1. Загрязнение прототипов в объектах JavaScript
  2. Небезопасная десериализация полезных нагрузок React Flight
  3. Манипуляция параметрами Server Action
  4. Инъекция заголовков в Server Components

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

  • 🐳 Полная контейнеризация Docker — полная изоляция от хост-системы
  • 🎯 5 CTF-флагов — задачи с прогрессивной сложностью
  • 🔓 Множество векторов атак — Server Actions, API маршруты, обход аутентификации
  • 📚 Образовательные ресурсы — встроенные подсказки и руководства по эксплуатации
  • 🛡️ Безопасная среда — без риска для производственных систем
  • 🎨 Реалистичное приложение — реалистичная тема с панелью администратора
  • 📊 Отслеживание прогресса — отслеживайте захваченные флаги
  • 🔧 Уязвимая версия React и Next.js — React 19.0.0, Next.js 15.1.6

🔧 Предварительные требования

Перед началом убедитесь, что у вас установлено следующее:

  • Docker: версия 20.10 или выше
  • Docker Compose: версия 2.0 или выше
  • Git: для клонирования репозитория

Проверка установки

root@kitploit:~
docker --version
docker-compose --version
git --version

📦 Установка

Быстрый старт

root@kitploit:~
# 1. Клонируйте репозиторий
git clone https://github.com/Machine-farmer/PunchingBag-for-React2Shell.git
cd PunchingBag-for-React2Shell

# 2. Соберите и запустите с помощью Docker
docker-compose up --build

# 3. Откройте приложение
# Откройте браузер по адресу: http://localhost:3000

Ручная настройка (без Docker)

root@kitploit:~
# 1. Клонируйте репозиторий
git clone https://github.com/Machine-farmer/punchingbag-cve-2025-55182.git
cd punchingbag-cve-2025-55182

# 2. Установите зависимости
npm install

# 3. Запустите сервер разработки
npm run dev

# 4. Откройте по адресу http://localhost:3000

⚠️ Предупреждение: Ручная настройка без Docker НЕ рекомендуется для исследований безопасности. Всегда используйте Docker для изоляции.


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

Запуск окружения

root@kitploit:~
# Запустите уязвимое приложение
docker-compose up

# Запустите в фоновом режиме (detached)
docker-compose up -d

# Просмотр логов
docker-compose logs -f

Остановка окружения

root@kitploit:~
# Остановите контейнеры
docker-compose down

# Остановите и удалите тома
docker-compose down -v

# Полная очистка (удаляет образы)
docker-compose down -v --rmi all

Доступ к приложению

После запуска перейдите по адресу:

  • Главная страница: http://localhost:3000
  • Панель управления: http://localhost:3000/dashboard
  • Панель администратора: http://localhost:3000/admin

🎯 CTF-задачи

PunchingBag содержит 5 скрытых флагов, которые проверяют различные техники эксплуатации:

Формат флагов

Все флаги имеют формат: CTF{description_here}

Подсказки

  • Флаг 1: Изучите структуру приложения и панель управления
  • Флаг 2: Ищите Server Actions, которые принимают пользовательский ввод
  • Флаг 3: Проверьте переменные окружения на наличие учетных данных
  • Флаг 4: Эксплуатируйте уязвимость RCE в консоли администратора
  • Флаг 5: Извлеките скрытые конфигурационные данные

🔓 Руководство по эксплуатации

Необходимые инструменты

  • Burp Suite — перехват и модификация HTTP-запросов
  • curl — клиент HTTP командной строки для создания полезных нагрузок
  • Инструменты разработчика браузера — проверка сетевого трафика
  • Postman — тестирование API (опционально)

Базовый рабочий процесс эксплуатации

1. Разведка

root@kitploit:~
# Изучите приложение
curl http://localhost:3000

# Проверьте доступные конечные точки
curl http://localhost:3000/dashboard
curl http://localhost:3000/admin

2. Эксплуатация Server Action

Перехватывайте отправку форм и изменяйте полезную нагрузку:

root@kitploit:~
// Пример вредоносной полезной нагрузки
{
  "name": "attacker",
  "email": "[email protected]",
  "message": "__proto__: { isAdmin: true }"
}

3. Инъекция заголовков

root@kitploit:~
# Инъекция вредоносных заголовков
curl -X POST http://localhost:3000/api/data \
  -H "Content-Type: application/json" \
  -H "x-user-data: {\"role\":\"admin\"}" \
  -d '{"exploit": true}'

4. Доступ администратора

Проверьте .env.local на наличие учетных данных или эксплуатируйте аутентификацию:

root@kitploit:~
# Токен администратора по умолчанию (намеренно слабый)
Username: admin
Token: super_secret_admin_key_12345

5. Удаленное выполнение кода

В уязвимом компоненте используйте функцию выполнения команд:

root@kitploit:~
# Симуляция RCE
Command: cat /flag.txt

Продвинутые техники

  • Загрязнение прототипов: Внедрение свойств __proto__
  • Создание полезных нагрузок RSC: Изменение сериализованных данных React Flight
  • Угон сессии: Манипуляция токенами аутентификации
  • Фаззинг API: Тестирование всех конечных точек на уязвимости

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

root@kitploit:~
punchingbag-cve-2025-55182/
├── app/
│   ├── actions.js              # Уязвимые Server Actions
│   ├── layout.js               # Макет приложения
│   ├── page.js                 # Главная страница с информацией о CTF
│   ├── globals.css             # Глобальные стили
│   ├── admin/
│   │   └── page.js            # Панель администратора (Флаг 3, 4)
│   ├── dashboard/
│   │   └── page.js            # Панель пользователя (Флаг 1, 2)
│   └── api/
│       ├── data/
│       │   └── route.js       # Конечная точка API
│       └── submit/
│           └── route.js       # Конечная точка отправки формы
├── components/
│   ├── Logo.js                # Логотип приложения
│   ├── VulnerableForm.js      # Эксплуатируемый компонент формы
│   └── UserDisplay.js         # Отображение профиля пользователя
├── lib/
│   └── flags.js               # Управление флагами
├── public/
│   └── boxing-bag.png         # Иконка приложения
├── .env.local                 # Переменные окружения (Флаг 5)
├── docker-compose.yml         # Конфигурация Docker
├── Dockerfile                 # Определение контейнера
├── next.config.js             # Конфигурация Next.js
├── package.json               # Зависимости
└── README.md                  # Этот файл

🛡️ Уведомление о безопасности

⚠️ ВАЖНЫЕ ОТКАЗЫ ОТ ОТВЕТСТВЕННОСТИ

Это приложение НАМЕРЕННО УЯЗВИМО и предназначено для:

✅ Разрешенное использование:

  • Исследования и обучение безопасности
  • Развитие навыков тестирования на проникновение
  • Соревнования и тренировки CTF
  • Академические курсы по кибербезопасности
  • Практика оценки уязвимостей

❌ Запрещенное использование:

  • Тестирование систем без явного разрешения
  • Развертывание в производственной среде любого типа
  • Вредоносные атаки на реальные системы
  • Распространение инструментов эксплуатации в незаконных целях

Соответствие законодательству

  • Всегда получайте письменное разрешение перед тестированием систем, которые вам не принадлежат
  • Следуйте практике ответственного раскрытия информации о реальных уязвимостях
  • Соблюдайте местные законы и нормативные акты, касающиеся тестирования безопасности
  • Уважайте условия обслуживания всех систем и платформ

Требования к изоляции

  • ВСЕГДА запускайте в Docker для надлежащей изоляции
  • НИКОГДА не открывайте порт 3000 для общего доступа в интернет
  • Используйте только в контролируемых лабораторных средах
  • Останавливайте/уничтожайте контейнеры после сеансов исследования
root@kitploit:~
# Правильная очистка после использования
docker-compose down -v --rmi all

🤝 Вклад

Вклад приветствуется! Пожалуйста, следуйте этим рекомендациям:

Как внести вклад

  1. Форкните репозиторий
  2. Создайте ветку функции (git checkout -b feature/AmazingFeature)
  3. Зафиксируйте изменения (git commit -m 'Add some AmazingFeature')
  4. Отправьте в ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

Идеи для вклада

  • Добавить новую задачу по эксплуатации
  • Улучшить документацию
  • Создать видеоуроки
  • Добавить новые демонстрации уязвимостей
  • Улучшить UI/UX
  • Написать автоматизированные скрипты эксплуатации

Кодекс поведения

  • Будьте уважительны и профессиональны
  • Сосредоточьтесь на образовательной ценности
  • Не добавляйте вредоносный код
  • Тщательно тестируйте перед отправкой

📜 Лицензия

Этот проект лицензирован под лицензией MIT — подробности см. в файле LICENSE.

Сторонние ресурсы

  • Иконка боксерской груши от Flaticon (бесплатная лицензия с указанием авторства)

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

  • Команда Next.js — за фреймворк (и исправление уязвимости)
  • Команда React — за React Server Components
  • Исследователи безопасности — кто обнаружил и раскрыл CVE-2025-55182
  • Сообщество CTF — за вдохновение и методологию
  • OWASP — за руководства по тестированию безопасности

Образовательные ресурсы

  • OWASP Top 10
  • PortSwigger Web Security Academy

📞 Контакты и поддержка

  • Проблемы: GitHub Issues
  • Обсуждения: GitHub Discussions

🔄 Обновления и список изменений

Версия 1.0.0 (Декабрь 2025)

  • Первоначальный выпуск
  • 5 CTF-задач
  • Поддержка Docker
  • Полная документация

⭐ История звезд

Если этот проект помог вам узнать о веб-безопасности, пожалуйста, поставьте звезду! ⭐


Сделано с 🥊 для исследований безопасности

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

Сообщить об ошибке · Предложить функцию · Документация

Скачать инструмент
ФлагЗадачаСложностьБаллы
🚩 Флаг 1Базовая разведкаЛегкая100
🚩 Флаг 2Эксплуатация Server ActionСредняя200
🚩 Флаг 3Обход доступа администратораСредняя300
🚩 Флаг 4Удаленное выполнение кодаСложная400
🚩 Флаг 5Секреты окруженияСредняя250