Skip to content

hualy13/CVE-2025-55182

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

CVE-2025-55182 Next.js RCE 利用工具 🚀

Python License Security

这是一个针对 Next.js React Server Components (CVE-2025-55182) 远程代码执行 (RCE) 漏洞的自动化概念验证 (PoC) 工具。

该工具集成了 交互式 Shell智能协议识别 以及 多线程批量扫描 功能,专为安全研究人员和渗透测试人员设计,旨在快速验证和利用该漏洞。

⚠️ 免责声明:本工具仅供网络安全教育和已获得授权的安全测试使用。严禁将其用于任何未授权的攻击行为。使用者需自行承担因使用本工具而产生的所有法律责任。


✨ 核心功能

  • 交互式 Shell 模式:模拟类终端环境,支持维持会话并连续执行命令,无需反复运行脚本。
  • 智能协议检测:自动处理不规范的输入(如 192.168.1.1example.com 或不带协议的 URL)。工具会优先尝试 HTTPS,失败后自动回退到 HTTP。
  • 批量漏洞扫描:支持导入 URL 列表文件进行高性能多线程扫描,快速发现易受攻击的目标。
  • 自动去重:在批量模式下自动去除重复的目标,避免重复发包。
  • 高级 Payload 编码 (核心优势)
    • 使用 Node.js 原生 Base64 处理命令回显。
    • 完美解决 JSON 转义字符导致的报错问题。
    • 支持查看二进制输出(如 ls -F 或读取非文本文件)。
    • 不依赖 目标系统的 base64tr 命令(完美适配 Alpine/Distroless 等精简容器环境)。
  • 健壮的错误处理:内置自动重试机制(Retries)和超时处理,适应不稳定的网络环境,并能优雅地处理 CMD 编码报错。

🛠️ 安装指南

  1. 克隆仓库

    git clone https://github.com/hualy13/CVE-2025-55182.git
    cd CVE-2025-55182
  2. 安装依赖

    pip install -r requirements.txt

💻 使用方法

1. 交互式 Shell (推荐)

像连接 SSH 一样连接到目标,支持连续执行命令。

python CVE-2025-55182.py -u [https://target.com/apps] --shell

注意:如果你输入的是 IP (如 127.0.0.1),工具会自动优先尝试 HTTPS 连接。

2. 批量扫描

从文本文件中加载目标列表进行批量检测。

Bash

python CVE-2025-55182.py -f targets.txt -t 20
  • -f: 目标列表文件路径(每行一个目标)。
  • -t: 扫描线程数(默认为 10)。
  • 结果:存在漏洞的 URL 将自动保存到当前目录下的 success.txt 文件中。

3. 单次命令执行

执行一条命令并退出,适合快速验证。

Bash

python CVE-2025-55182.py -u [https://target.com/apps] -c "id"

4. 代理支持

支持配置 HTTP/HTTPS 代理(例如联动 Burp Suite 抓包分析)。

Bash

python CVE-2025-55182.py -u [https://target.com/apps] --shell -p [http://127.0.0.1:8080]

📝 批量扫描输入格式

targets.txt 文件支持混合格式,工具会自动进行标准化处理:

Plaintext

192.168.1.100          # 自动尝试 [http://192.168.1.100]
10.0.0.5:3000          # 自动尝试 [http://10.0.0.5:3000]
example.com            # 优先尝试 [https://example.com],失败后尝试 http://
[https://site.com/apps]  # 按原样测试

🔍 技术原理

该漏洞利用了 Next.js Server Actions 中对 Payload 的不安全反序列化处理。本工具构造了一个恶意的 JSON Payload,执行流程如下:

  1. 注入 Node.js 的 child_process.execSync 调用。
  2. 使用 try-catch 块包裹执行逻辑,防止因命令不存在或执行错误导致服务器返回 500 崩溃。
  3. 利用 Node.js 内部的 Buffer 将命令执行结果转换为 Base64 字符串。
  4. 通过抛出异常(Throw Error),将 Base64 结果包含在 HTTP 响应头(X-Action-RedirectLocation)中回显给攻击者。

⚖️ 法律声明

本仓库提供的工具和信息仅用于安全研究和授权测试。作者对任何因滥用本工具而导致的非法行为或损失概不负责。

在未获得明确授权的情况下,请勿对任何系统进行测试。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages