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, 无后门, 暴力破解, 逆向工具