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

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

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

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

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

Категории

Все категории
Loading categories
react-cve-2025-55182 — Тестирование и анализ уязвимости CVE-2025-55182 в Next.js Server Actions | Kitploit
Инструменты/GitHubGitHub/niokagi/react-cve-2025-55182
Анализ уязвимостейАнализ КодаЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеРазработка Полезной НагрузкиЛаборатории и Практика
GitHubniokagi/react-cve-2025-55182

react-cve-2025-55182

Тестирование и анализ уязвимости CVE-2025-55182 в Next.js Server Actions

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

Популярное

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

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

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

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

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

CVE-2025-55182: Тест React/Next.js

Статус проекта: Экспериментальный / Proof of Concept

Этот репозиторий представляет собой контролируемую исследовательскую среду и платформу Proof-of-Concept (PoC) для анализа CVE-2025-55182. Он демонстрирует уязвимость Prototype Pollution (загрязнение прототипа) в контексте Next.js Server Actions, нацеленную конкретно на небезопасные рекурсивные операции слияния.

Обзор

Основная уязвимость кроется в пользовательской служебной функции deepMerge, реализованной внутри Server Action Next.js (syncConfiguration). Функция не выполняет надлежащей санитизации специальных ключей объектов — в частности __proto__ и constructor. Эта недоработка позволяет неаутентифицированному злоумышленнику внедрять произвольные свойства в глобальный Object.prototype.

В серверной среде выполнения Node.js успешное загрязнение прототипа может привести к:

  • Удалённому манипулированию состоянием: глобальному изменению логики приложения, флагов авторизации (например, isAdmin) или параметров конфигурации.
  • Отказу в обслуживании (DoS): дестабилизации приложения путём перезаписи критически важных внутренних методов, таких как toString или valueOf.
  • Потенциальному удалённому выполнению кода (RCE): хотя данная лаборатория в первую очередь демонстрирует манипулирование состоянием, загрязнение прототипа часто может быть скомбинировано с другими гаджетами (например, в child_process или шаблонизаторах) для достижения произвольного выполнения кода.

Структура репозитория

  • lab/next-app/: уязвимое приложение Next.js 15, предназначенное для имитации данного недостатка безопасности.
    • src/app/actions.jsx: серверный код, содержащий уязвимую реализацию deepMerge.
  • exploits/: скрипты автоматизации на Python для тестирования и эксплуатации.
    • rce.py: скрипт, автоматизирующий внедрение вредоносных JSON-нагрузок для демонстрации загрязнения состояния сервера.
    • get-shell.py: продвинутый PoC, исследующий векторы десериализации протокола RSC Flight.
  • docs/PAYLOADS.md: справочный документ, содержащий различные JSON-нагрузки для ручного тестирования и анализа.

Инструкции по использованию

1. Настройка окружения

Вы можете запустить лабораторию с помощью Docker (рекомендуется) или локально.

Вариант A: Docker (рекомендуется)

Убедитесь, что Docker и Docker Compose установлены.

root@kitploit:~
docker-compose up --build

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

Вариант B: Локальная настройка

Требуется Node.js 20+.

root@kitploit:~
cd lab/next-app
npm install
npm run dev

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

2. Ручная проверка

  1. Перейдите на http://localhost:3000.
  2. Выберите нагрузку из docs/PAYLOADS.md (например, базовую нагрузку).
  3. Введите нагрузку в поле «Config_Payload_Input» и отправьте через «Commit_Changes».
  4. Проверьте появление предупреждения «RUNTIME_POLLUTION_DETECTED», указывающего на успешную эксплуатацию.

3. Автоматизированная эксплуатация

Предоставленные Python-скрипты позволяют выполнить программную проверку уязвимости.

Предварительное требование: получите Next-Action ID из вкладки «Network» в браузере (найдите заголовок POST-запроса Next-Action) или из вывода терминала сервера.

Использование Docker (рекомендуется)

  1. Войдите в контейнер атакующего:
    root@kitploit:~
    docker exec -it exploit-runner bash
    
  2. Экспортируйте Action ID и запустите эксплойт:
    root@kitploit:~
    export ACTION_ID="your_action_id_here"
    python3 rce.py "id"
    

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

  1. Установите зависимости:
    root@kitploit:~
    pip install -r exploits/requirements.txt
    
  2. Запустите эксплойт (задайте ACTION_ID как переменную окружения или отредактируйте скрипт):
    root@kitploit:~
    export ACTION_ID="your_action_id_here"
    python3 exploits/rce.py "id"
    

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

Отказ от ответственности

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

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

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