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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2025-66478-POC — CVE-2025-66478 Proof of Concept | Kitploit
Инструменты/GitHubGitHub/wangxso/cve-2025-66478-poc
ReconnaissanceVulnerability ScannersVulnerability AnalysisExploitationWeb Application ExploitationLearning & EducationRemote Access ToolPayload DevelopmentLabs & Practice
GitHubwangxso/cve-2025-66478-poc

CVE-2025-66478-POC

CVE-2025-66478 Proof of Concept

518 месяцев назадЕщё не проверено

Популярное

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

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

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

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

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

CVE-2025-66478: концептуальное доказательство

中文版本 / Chinese Version

漏洞概述

CVE-2025-66478 是一个影响 Next.js 应用程序的严重远程代码执行 (RCE) 漏洞,源于 React Server Components (RSC) 协议中的不安全反序列化问题。该漏洞的 CVSS 评分为 10.0(最高级别),允许未经身份验证的攻击者通过特制的 HTTP 请求在易受攻击的服务器上执行任意代码。

技术细节

漏洞根源

该漏洞源于上游 React 实现中的不安全反序列化逻辑(CVE-2025-55182),并影响使用 App Router 的 Next.js 应用程序。问题出在 React Server Components 的 "Flight" 协议中,该协议负责在服务器和客户端之间序列化和反序列化数据。

影响范围

受影响的 Next.js 版本:

  • Next.js 15.x
  • Next.js 16.x
  • Next.js 14.3.0-canary.77 及更高版本的 canary 版本

不受影响的版本:

  • Next.js 13.x
  • Next.js 14.x 稳定版
  • 使用 Pages Router 的应用程序
  • Edge Runtime

攻击向量

攻击者只需向目标服务器发送一个特制的 HTTP 请求,其中包含恶意构造的 RSC payload。当服务器处理这个 payload 时,由于不安全的反序列化逻辑,攻击者控制的数据可以影响服务器端的执行流程,导致任意 JavaScript 代码的执行。

受影响的应用

特别关注: Dify 等 AI 工具成为重灾区,利用成功率较高。这些应用通常使用 Next.js App Router 和 Server Components,因此容易受到此漏洞影响。

常见受影响应用类型:

  • Dify 等 AI 应用平台
  • 使用 Next.js 15.x/16.x 的 Web 应用
  • 使用 App Router 的 Next.js 应用
  • 使用 React Server Components 的应用

Proof of Concept

免责声明

此工具仅用于教育目的和安全研究。 请勿在未经授权的系统上使用。使用此工具进行任何非法活动均与作者无关。

概念验证脚本

exploit.js 是一个概念验证脚本,演示了如何构造和发送恶意的 RSC payload。这个脚本包含以下功能:

  1. 生成恶意 payload:构造利用反序列化漏洞的 RSC payload
  2. 发送攻击请求:将恶意 payload 发送到目标服务器
  3. 漏洞扫描:扫描目标应用程序中可能存在漏洞的 RSC 端点

使用方法

基本用法

root@kitploit:~
# 执行特定命令
node exploit.js <目标URL> <命令>

# 示例
node exploit.js http://localhost:3000 "whoami"

扫描模式

root@kitploit:~
# 扫描目标应用程序中的 RSC 端点
node exploit.js <目标URL> --scan

# 示例
node exploit.js http://localhost:3000 --scan

Docker 演示环境

为了安全地演示和测试此漏洞,我们提供了一个完整的 Docker 演示环境,包含一个易受攻击的 Next.js 应用程序。

前置要求

  • Docker 和 Docker Compose
  • 至少 2GB 可用磁盘空间
  • 至少 1GB 可用内存

快速启动

方法 1: 使用启动脚本(推荐)

Windows (PowerShell):

root@kitploit:~
.\setup-demo.ps1

Linux/macOS:

root@kitploit:~
chmod +x setup-demo.sh
./setup-demo.sh

方法 2: 手动启动

root@kitploit:~
# 1. 构建 Docker 镜像
docker-compose build

# 2. 启动容器
docker-compose up -d

# 3. 查看日志(可选)
docker-compose logs -f

访问应用

启动后,等待几秒钟,然后访问:

  • 应用主页: http://localhost:3000
  • RSC 端点: http://localhost:3000/_rsc

测试漏洞

使用提供的 exploit 脚本测试漏洞:

root@kitploit:~
# 基本测试
node exploit.js http://localhost:3000/_rsc "echo test"

# 执行命令
node exploit.js http://localhost:3000/_rsc "whoami"

# 扫描端点
node exploit.js http://localhost:3000 --scan

环境信息

演示环境包含:

  • Next.js: 15.0.4 (易受攻击版本)
  • React: 19.0.0
  • Node.js: 20 (Alpine Linux)
  • 架构: 使用 App Router 和 Server Components

管理命令

root@kitploit:~
# 查看日志
docker-compose logs -f

# 停止环境
docker-compose down

# 停止并删除数据
docker-compose down -v

# 重启环境
docker-compose restart

安全注意事项

⚠️ 重要警告:

  1. 仅用于教育目的: 此环境仅用于学习和安全研究
  2. 隔离环境: 容器运行在隔离的网络中,但仍需谨慎
  3. 不要暴露到公网: 不要将端口映射到公网 IP
  4. 及时清理: 测试完成后及时停止和删除容器
  5. 不要在生产环境使用: 此配置包含已知的安全漏洞

测试工具

test-vulnerability.js 是一个用于检测应用程序是否受此漏洞影响的工具。它会执行以下检查:

  1. 版本检查:验证 Next.js 版本是否在受影响范围内
  2. 端点测试:检查应用程序中可能存在漏洞的 RSC 端点
  3. 漏洞验证:使用安全的 payload 测试漏洞是否存在

使用方法

root@kitploit:~
# 测试目标应用程序
node test-vulnerability.js <目标URL>

# 示例
node test-vulnerability.js http://localhost:3000

修复措施

立即修复

  1. 升级 Next.js:将 Next.js 升级到最新版本,该版本已修复此漏洞

    root@kitploit:~
    npm install next@latest
    # 或
    yarn upgrade next@latest
    # 或
    pnpm update next@latest
    
  2. 验证修复:使用 test-vulnerability.js 工具验证修复是否成功

    root@kitploit:~
    node test-vulnerability.js <目标URL>
    

临时缓解措施

如果无法立即升级,可以考虑以下临时缓解措施:

  1. 使用 Pages Router:将受影响的路由迁移到 Pages Router,该路由不受此漏洞影响

  2. 启用 Edge Runtime:为受影响的路由启用 Edge Runtime,该运行时不受此漏洞影响

    root@kitploit:~
    // 在页面组件或布局中
    export const runtime = 'edge';
    

技术细节

漏洞原理

该漏洞利用了 React Server Components "Flight" 协议中的不安全反序列化逻辑。当服务器接收到客户端发送的 RSC 请求时,它会反序列化包含组件数据的 payload。由于反序列化过程中缺乏充分的验证,攻击者可以构造恶意 payload,导致服务器执行任意 JavaScript 代码。

漏洞利用条件

要利用此漏洞,攻击者需要满足以下条件:

  1. 目标应用程序使用 Next.js 15.x、16.x 或 14.3.0-canary.77 及更高版本
  2. 目标应用程序使用 App Router
  3. 攻击者可以向目标服务器发送 HTTP 请求

漏洞影响

成功利用此漏洞可以导致:

  1. 远程代码执行 (RCE)
  2. 服务器完全控制
  3. 数据泄露
  4. 服务中断

目标发现

FOFA 搜索语法

root@kitploit:~
# 搜索 Next.js 应用(通用)
body="NEXT_DATA" && body="version"

# 搜索 AI 相关应用(Dify 等)
body="NEXT_DATA" && (body="AI" || body="人工智能" || body="大模型" || body="LLM")

# 搜索 Dify 应用
body="NEXT_DATA" && (body="dify" || title="Dify" || body="dify.ai")

# 组合搜索
body="NEXT_DATA" && (body="AI" || body="人工智能") && domain="edu.cn"

Hunter 搜索语法

root@kitploit:~
# 搜索教育机构中的 Next.js 应用
(web.title="Next.js" OR web.body="NEXT_DATA") && domain="edu.cn"

常见易受攻击端点

  • /_rsc - React Server Components 端点
  • /api/rsc - API RSC 端点
  • /api/chat - Dify 等 AI 工具的聊天端点
  • /api/completion - 完成端点
  • /api/v1/chat - API v1 聊天端点
  • /server-actions - Server Actions 端点

参考资料

  • Next.js 安全公告
  • React Server Components 文档
  • CVE-2025-55182 详细信息
  • CVE-2025-55182 利用工具参考

Обзор уязвимости

CVE-2025-66478 — это критическая уязвимость удалённого выполнения кода (RCE), затрагивающая приложения Next.js, возникающая из-за небезопасной десериализации в протоколе React Server Components (RSC). С оценкой CVSS 10.0 (максимально возможная) она позволяет неаутентифицированным злоумышленникам выполнять произвольный код на уязвимых серверах через специально созданные HTTP-запросы.

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

Коренная причина

Уязвимость берёт начало из небезопасной логики десериализации в вышестоящей реализации React (CVE-2025-55182) и затрагивает приложения Next.js, использующие App Router. Проблема кроется в протоколе «Flight» React Server Components, который отвечает за сериализацию и десериализацию данных между сервером и клиентом.

Область воздействия

Затронутые версии Next.js:

  • Next.js 15.x
  • Next.js 16.x
  • Next.js 14.3.0-canary.77 и более новые canary-версии

Незатронутые версии:

  • Next.js 13.x
  • Стабильные выпуски Next.js 14.x
  • Приложения, использующие Pages Router
  • Edge Runtime

Вектор атаки

Злоумышленнику нужно лишь отправить на целевой сервер специально сформированный HTTP-запрос, содержащий вредоносную нагрузку RSC. Когда сервер обрабатывает эту нагрузку, из-за небезопасной десериализации данные, контролируемые атакующим, могут повлиять на поток выполнения на стороне сервера, что приведёт к выполнению произвольного JavaScript-кода.

Концептуальное доказательство (PoC)

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

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

Сценарий PoC

exploit.js — это сценарий концептуального доказательства, демонстрирующий, как создавать и отправлять вредоносные нагрузки RSC. Данный сценарий включает следующие функции:

  1. Генерация вредоносной нагрузки: создание нагрузок RSC, эксплуатирующих уязвимость десериализации
  2. Отправка атакующих запросов: отправка вредоносных нагрузок на целевые серверы
  3. Сканирование уязвимостей: сканирование целевых приложений на предмет потенциально уязвимых конечных точек RSC

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

Базовое использование

root@kitploit:~
# Выполнить определённую команду
node exploit.js <целевой-URL> <команда>

# Пример
node exploit.js http://localhost:3000 "whoami"

Режим сканирования

root@kitploit:~
# Сканировать целевое приложение на наличие конечных точек RSC
node exploit.js <целевой-URL> --scan

# Пример
node exploit.js http://localhost:3000 --scan

Демонстрационная среда Docker

Для безопасной демонстрации и тестирования данной уязвимости мы предоставляем полную демонстрационную среду Docker, содержащую уязвимое приложение Next.js.

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

  • Docker и Docker Compose
  • Не менее 2 ГБ свободного дискового пространства
  • Не менее 1 ГБ свободной памяти

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

Способ 1: использование скрипта запуска (рекомендуется)

Windows (PowerShell):

root@kitploit:~
.\setup-demo.ps1

Linux/macOS:

root@kitploit:~
chmod +x setup-demo.sh
./setup-demo.sh

Способ 2: ручной запуск

root@kitploit:~
# 1. Собрать Docker-образ
docker-compose build

# 2. Запустить контейнер
docker-compose up -d

# 3. Просмотреть логи (опционально)
docker-compose logs -f

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

После запуска подождите несколько секунд, затем перейдите по адресу:

  • Приложение: http://localhost:3000
  • Конечная точка RSC: http://localhost:3000/_rsc

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

Используйте предоставленный сценарий exploit для проверки уязвимости:

root@kitploit:~
# Базовый тест
node exploit.js http://localhost:3000/_rsc "echo test"

# Выполнение команды
node exploit.js http://localhost:3000/_rsc "whoami"

# Сканирование конечных точек
node exploit.js http://localhost:3000 --scan

Информация о среде

Демонстрационная среда включает:

  • Next.js: 15.0.4 (уязвимая версия)
  • React: 19.0.0
  • Node.js: 20 (Alpine Linux)
  • Архитектура: использует App Router и Server Components

Команды управления

root@kitploit:~
# Просмотр логов
docker-compose logs -f

# Остановка среды
docker-compose down

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

# Перезапуск среды
docker-compose restart

Замечания по безопасности

⚠️ Важные предупреждения:

  1. Только для образовательных целей: эта среда предназначена исключительно для обучения и исследований в области безопасности
  2. Изолированная среда: контейнер работает в изолированной сети, но всё равно соблюдайте осторожность
  3. Не открывайте доступ в интернет: не привязывайте порты к публичному IP
  4. Удаляйте после использования: после тестирования остановите и удалите контейнеры
  5. Не используйте в production: данная конфигурация содержит известные уязвимости

Инструмент тестирования

test-vulnerability.js — это инструмент для обнаружения, затронуто ли приложение данной уязвимостью. Он выполняет следующие проверки:

  1. Проверка версии: определяет, находится ли версия Next.js в зоне воздействия
  2. Тестирование конечных точек: ищет потенциально уязвимые конечные точки RSC в приложении
  3. Верификация уязвимости: тестирует уязвимость с помощью безопасных нагрузок

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

root@kitploit:~
# Протестировать целевое приложение
node test-vulnerability.js <целевой-URL>

# Пример
node test-vulnerability.js http://localhost:3000

Исправление

Немедленное исправление

  1. Обновление Next.js: обновите Next.js до последней версии, в которой исправлена данная уязвимость

    root@kitploit:~
    npm install next@latest
    # или
    yarn upgrade next@latest
    # или
    pnpm update next@latest
    
  2. Проверка исправления: используйте инструмент test-vulnerability.js, чтобы убедиться, что исправление сработало

    root@kitploit:~
    node test-vulnerability.js <целевой-URL>
    

Временные меры

Если немедленное обновление невозможно, рассмотрите следующие временные меры:

  1. Использование Pages Router: перенесите затронутые маршруты на Pages Router, который не подвержен этой уязвимости

  2. Включение Edge Runtime: включите Edge Runtime для затронутых маршрутов, так как он не подвержен этой уязвимости

    root@kitploit:~
    // В компоненте страницы или макете
    export const runtime = 'edge';
    

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

Механизм уязвимости

Уязвимость эксплуатирует небезопасную логику десериализации в протоколе «Flight» React Server Components. Когда сервер получает от клиента RSC-запрос, он десериализует нагрузку, содержащую данные компонентов. Из-за недостаточной проверки при десериализации злоумышленники могут создавать вредоносные нагрузки, заставляющие сервер выполнять произвольный JavaScript-код.

Условия эксплуатации

Для эксплуатации данной уязвимости злоумышленнику необходимо:

  1. Чтобы целевое приложение использовало Next.js 15.x, 16.x или 14.3.0-canary.77 и более новые версии
  2. Чтобы целевое приложение использовало App Router
  3. Иметь возможность отправлять HTTP-запросы целевому серверу

Воздействие

Успешная эксплуатация может привести к:

  1. Удалённому выполнению кода (RCE)
  2. Полному контролю над сервером
  3. Утечке данных
  4. Нарушению работы сервиса

Ссылки

  • Уведомления безопасности Next.js
  • Документация React Server Components
  • Детали CVE-2025-55182
  • Инструмент эксплуатации CVE-2025-55182
Скачать инструмент