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

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

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

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

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

Категории

Все категории
Loading categories
React-site-CVE-2025-55182 — Преднамеренно уязвимая корпоративная целевая страница Next.js, демонстрирующая CVE-2025-55182, инъекцию JSON, приводящую к RCE/SSRF через небезопасную десериализацию в React Server Components. | Kitploit
Инструменты/GitHubGitHub/vladjrfhfg/react-site-cve-2025-55182
Динамический анализ (песочница)Анализ уязвимостейАнализ КодаЭксплуатация веб-приложенийТестирование на ПроникновениеОбучение и Образование
GitHubvladjrfhfg/react-site-cve-2025-55182

React-site-CVE-2025-55182

Преднамеренно уязвимая корпоративная целевая страница Next.js, демонстрирующая CVE-2025-55182, инъекцию JSON, приводящую к RCE/SSRF через небезопасную десериализацию в React Server Components.

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

Популярное

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

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

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

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

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

React Site - CVE-2025-55182

README: Уязвимый Next.js проект (React RSC лендинг)

Это репозиторий с примером многостраничного корпоративного лендинга на Next.js 15.0.0 + React 19.0.0. Сайт имитирует структуру вроде t1.ru: главная, продукты, кейсы, медиа, о компании, контакты. Используем React Server Components (RSC), Tailwind CSS, Framer Motion для анимаций, lucide-react для иконок, shadcn/ui для бейджей и Prisma с SQLite для базы (форма контактов сохраняет сообщения).

Проект специально сделан уязвимым для демонстрации PT-2025-48817 — JSON injection через форму контактов, которая может привести к RCE/SSRF из-за unsafe deserialization в react-server-dom-webpack

Требования

  • Node.js 20.x или выше (из-за Prisma). Если у вас старая версия, обновите (см. ниже).
  • npm (не yarn, проект на npm).

Установка

  1. Клонируйте репу:

    git clone <url-репы>
    cd <директория>
    
  2. Установите зависимости:

    npm install
    

    Если проблемы с версиями (например, build errors), попробуйте:

    npm install --legacy-peer-deps
    

    Или обновите Node.js:

    • На Debian/Ubuntu:
      sudo apt remove --purge nodejs npm -y
      curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
      sudo apt update
      sudo apt install -y nodejs
      node -v  # должно быть v20.x.x
      
    • Затем очистите и переустановите:
      rm -rf node_modules package-lock.json
      npm install
      
  3. Инициализируйте Prisma (если нужно заново):

    npx prisma init
    npx prisma migrate dev --name init
    

    В .env должно быть: DATABASE_URL="file:./prisma/dev.db".

Запуск

  • Дев-режим:

    npm run dev
    

    Откройте http://localhost:3000.

  • Билд и прод:

    npm run build
    npm run start
    
  • Просмотр БД:

    npx prisma studio
    

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

  • app/: Основная папка.
    • components/: Общие компоненты (Header.tsx, Footer.tsx, ProductCard.tsx, NewsItem.tsx).
    • products/: Страница списка продуктов + динамические страницы по slug ([slug]/page.tsx).
    • cases/, media/, about/, contacts/: Отдельные страницы.
    • layout.tsx: Общий layout с Header/Footer.
    • page.tsx: Главная страница.
    • globals.css: Стили.
  • public/: Изображения (logo.png, images/cases/rimi.jpg и т.д.). Добавьте свои или используйте placeholder.svg.
  • prisma/: Схема БД (schema.prisma, dev.db).
  • actions.ts: Server Actions, включая уязвимый saveMessage для формы контактов.

  • Анимации: Framer Motion на кейсах (fade-in, scale, 3D-hover). Добавьте 'use client' где нужно.
  • Форма контактов: В contacts/page.tsx. Использует Server Action (saveMessage) с валидацией и loading state. Сохраняет в SQLite.
  • Компоненты:
    • ProductCard: С изображением, тегами (Badge), ценой, статусом, фичами, градиентами и hover.
    • NewsItem: Простая карточка новости.
  • Уязвимость: В actions.ts — парсим сообщение как JSON без проверок. Если отправить crafted payload вроде { "type": "system", "payload": { "action": "ls" } }, то exec выполнит команду. Это симуляция deserialization attack для RSC
Скачать инструмент