c0gnit00/CVE-2022-46364

GitHub: c0gnit00/CVE-2022-46364

针对 Apache CXF MTOM/XOP SSRF 漏洞(CVE-2022-46364)的 Python 概念验证脚本,支持任意文件读取和 SSRF 利用。

Stars: 0 | Forks: 0

# CVE-2022-46364 — Apache CXF MTOM/XOP SSRF(文件读取) ## 漏洞概述 **CVE-2022-46364** 影响 **3.4.10** 和 **3.5.5** 之前的 Apache CXF 版本。当在 SOAP 服务上启用 MTOM(消息传输优化机制)时,CXF 的 unmarshaller 会错误地验证 `` 元素内的 `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 payload 进行微调,即可使其适应目标环境。 ## 用法 ### 读取 /etc/passwd(默认目标) 默认 URL 为 `http://devarea.htb:8080/employeeservice`。 ``` python3 CVE-2022-46364.py --file /etc/passwd ``` ### 自定义目标 URL ``` python3 CVE-2022-46364.py --url http://target:8080/employeeservice --file /etc/passwd ``` ### 详细模式 — 显示请求和原始响应 ``` python3 CVE-2022-46364.py --file /etc/passwd --verbose ``` ## 适配其他目标 ### 适配步骤: 1. 从目标处**获取 WSDL**: curl http://target:8080/employeeservice?wsdl 2. **确认服务详情:** - `targetNamespace`(例如 `http://devarea.htb/`) - 操作名称(例如 `submitReport`) - 参数结构(例如带有嵌套 `` 的 ``) 3. 在 `build_payload()` 中**修改 payload**: - 更新命名空间(`xmlns:dev="..."`) - 更新操作名称(``) - 更新参数包装器(``) - 将 `` 放置在服务器会将其作为附件处理的字段中 4. 运行脚本时**更新 `--url`**。 ### WSDL 适配示例 给定此 WSDL 片段: ``` ``` 你的 payload 应变为: ``` ``` ## 工作原理 1. 该脚本构造一个带有 `Content-Type: application/xop+xml` 的 `multipart/related` HTTP 请求。 2. 在 SOAP body 内部,放置了一个 `` 元素。 3. 存在漏洞的 CXF 服务器将其视为附件引用,并解析 `file://` URI。 4. 读取文件内容,由服务器进行 base64 编码,并返回到 SOAP `` 元素内。 5. 脚本提取 `Content:` 之后的 base64 字符串并将其解码。 ## 参考 | 资源 | 链接 | |----------|------| | Apache CXF 公告 | [CVE-2022-46364](https://cxf.apache.org/security-advisories.data/CVE-2022-46364.txt) | | NVD 条目 | [NVD — CVE-2022-46364](https://nvd.nist.gov/vuln/detail/CVE-2022-46364) | | Apache Jira (CXF-8706) | [CXF-8706](https://issues.apache.org/jira/browse/CXF-8706) | | W3C XOP 规范 | [XML-binary Optimized Packaging](https://www.w3.org/TR/xop10/) | | Penligent 深入分析 | [CVE-2022-46364 PoC 实战](https://www.penligent.ai/hackinglabs/cve-2022-46364-proof-of-concept-apache-cxf-mtom-ssrf-in-practice/) | | HTB DevArea | [Hack The Box — DevArea](https://app.hackthebox.com/machines/DevArea) | ## 免责声明 此工具仅供**授权的安全测试和教育目的**使用。在测试您不拥有的系统之前,请务必获得明确的许可。作者对因滥用此脚本而造成的任何误用或损害概不负责。 ## 许可证 MIT 许可证 — 欢迎自由使用、修改和分享,但请注明出处。
标签:CISA项目, CVE-2022-46364, PoC, Python, SSRF, 无后门, 暴力破解, 逆向工具