Goultarde/CVE-2024-46987
GitHub: Goultarde/CVE-2024-46987
针对 Camaleon CMS 路径遍历漏洞(CVE-2024-46987)的 PoC 脚本,允许攻击者在认证后读取服务器任意文件。
Stars: 21 | Forks: 4
# CVE-2024-46987 - Camaleon CMS 认证后任意文件读取
本仓库包含用于 **CVE-2024-46987** 的概念验证 (PoC) 脚本,该漏洞允许在 **Camaleon CMS** 上进行任意文件读取(LFI / 路径遍历)。
## 描述
在 Camaleon CMS 版本 2.8.0 到 < 2.8.2(奇怪的是在 2.9.0 上也能工作)中发现了一个路径遍历漏洞。该漏洞位于 `MediaController` 的 `download_private_file` 方法中。
此漏洞允许**已认证**用户通过操纵 `file` 参数从服务器下载任意文件。如果应用程序以提升的权限运行,或者敏感文件可被运行 CMS 的系统用户访问,这可能导致关键信息泄露(配置文件、源代码等)。
**技术细节:**
- **CVE ID**: CVE-2024-46987
- **CVSS 评分**: 7.7 (高危)
- **类型**: 认证后路径遍历 / 任意文件读取
- **受影响版本**: 2.8.0 <= version < 2.8.2
## 前置条件
- Python 3.x
- `requests`
您可以使用以下命令安装依赖项:
```
pip install requests
```
## 使用方法
该脚本需要目标 CMS 上的有效用户账户才能进行身份验证,并获取利用漏洞所需的 CSRF token。
```
python3 CVE-2024-46987.py -u -l -p
```
### 参数
- `-u`, `--url`: 目标站点的基础 URL(例如 `http://example.com`)。
- `-l`, `--user`: 用于身份验证的用户名。
- `-p`, `--password`: 用于身份验证的密码。
- `--path`: (可选) 漏洞端点的路径。默认值:`admin/media/download_private_file`。
- `-v`, `--verbose`: 启用详细模式以查看连接步骤。
- `file`: 服务器上要读取的文件路径(例如 `/etc/passwd`)。
### 示例
读取 `/etc/passwd` 文件:
```
python3 CVE-2024-46987.py -u http://target-cms.local -l admin -p password123 /etc/passwd
```
使用详细模式:
```
python3 CVE-2024-46987.py -u http://target-cms.local -l user -p pass -v /etc/hosts
```
## 免责声明
本代码仅供**教育和安全研究目的**提供。未经事先授权对目标使用此脚本是非法的。作者不对滥用行为承担任何责任。
在进行渗透测试之前,请务必确保您已获得明确许可。
# CVE-2024-46987
标签:Camaleon CMS, CMS 漏洞, CVE-2024-46987, CVSS 7.7, HTTP工具, LFI, Maven, MediaController, Python PoC, Ruby on Rails, 任意文件读取, 信息泄露, 内存转储, 字符串匹配, 敏感文件读取, 文件包含, 漏洞验证, 网络安全, 网络安全审计, 认证用户, 路径遍历, 逆向工具, 隐私保护