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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-23907 — Apache PDFBox 路径遍历漏洞(CVE-2026-23907)的概念验证漏洞利用,演示了通过包含嵌入文件的恶意 PDF 实现任意文件写入。 | Kitploit
工具/GitHubGitHub/joakimbulow/cve-2026-23907
漏洞分析漏洞利用Web应用程序漏洞利用恶意软件分析渗透测试二进制分析
GitHubjoakimbulow/cve-2026-23907

CVE-2026-23907

Apache PDFBox 路径遍历漏洞(CVE-2026-23907)的概念验证漏洞利用,演示了通过包含嵌入文件的恶意 PDF 实现任意文件写入。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Apache PDFBox 路径遍历漏洞

漏洞摘要

描述

Apache PDFBox 的 ExtractEmbeddedFiles 示例代码在从 PDF 中提取嵌入文件时未对文件名进行净化处理。攻击者可以嵌入包含路径遍历序列(../)的文件,从而将文件写入文件系统的任意位置。

漏洞代码

文件: pdfbox/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java

root@kitploit:~
private static void extractFile(String filePath, String filename, PDEmbeddedFile embeddedFile)
        throws IOException
{
    String embeddedFilename = filePath + filename;  // 未进行净化处理
    File file = new File(embeddedFilename);
    File parentDir = file.getParentFile();
    if (!parentDir.exists())
    {
        parentDir.mkdirs();  // 创建任意目录
    }
    try (FileOutputStream fos = new FileOutputStream(file))
    {
        fos.write(embeddedFile.toByteArray());  // 写入任意位置
    }
}

filename 参数直接来自 PDF,未经任何验证。

影响

  • 任意文件写入: 可在应用程序具有权限的任何位置写入文件
  • 权限提升: 覆盖 SSH 密钥、配置文件
  • 远程代码执行: 覆盖可执行文件、cron 任务、systemd 服务
  • 数据破坏: 覆盖关键系统文件

攻击场景

  1. SSH 密钥注入

    • 嵌入文件名:../../.ssh/authorized_keys
    • 内容:攻击者的公钥
    • 结果:获得 SSH 访问权限
  2. Cron 任务注入

    • 嵌入文件名:../../../etc/cron.d/malicious
    • 内容:恶意脚本
    • 结果:权限提升 + 持久化
  3. 配置覆盖

    • 嵌入文件名:../../config/database.yml
    • 内容:恶意凭据
    • 结果:数据泄露

概念验证

包含的文件

  • create_malicious_pdf.py - 生成包含路径遍历的恶意 PDF
  • TestPathTraversal.java - 演示该漏洞
  • test_path_traversal.sh - 自动化测试脚本
  • malicious_path_traversal.pdf - 预生成的恶意 PDF

运行 PoC

快速测试

root@kitploit:~
./test_path_traversal.sh

手动测试

root@kitploit:~
# 1. 生成恶意 PDF
python3 create_malicious_pdf.py

# 2. 编译测试(需要 PDFBox JAR)
javac -cp pdfbox-app.jar TestPathTraversal.java

# 3. 运行测试
java -cp .:pdfbox-app.jar TestPathTraversal malicious_path_traversal.pdf

# 4. 验证路径遍历
cat /tmp/path_traversal_poc

预期输出

root@kitploit:~
PATH TRAVERSAL DETECTED!
Expected path prefix: /current/working/directory
Actual path: /tmp/path_traversal_poc

受影响版本

  • Apache PDFBox 3.0.6 - 已确认存在漏洞

受影响的组件

  • ExtractEmbeddedFiles.java 示例代码
  • 使用类似模式的应用
  • 任何调用 PDComplexFileSpecification.getFilename() 且未进行净化处理的代码
下载工具