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

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

Популярное

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

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

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

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

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

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 настроен на демонстрацию успешного загрязнения состояния. Полное выполнение команд в оболочке зависит от конкретных гаджетов окружения, которые могут различаться.

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

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

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

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