AnhNg1410/Bludit-Exploitation
GitHub: AnhNg1410/Bludit-Exploitation
针对 Bludit CMS <= 3.21.1 存储型 XSS 与 CSRF 组合漏洞的 PoC 脚本,可将 Author 权限提升至 Administrator。
Stars: 1 | Forks: 0
# Blloit-Exploitation
Bludit CMS 权限提升 PoC 脚本:利用存储型 XSS 和 CSRF 将用户权限从 Author 提升至 Administrator。
### 概述
Bludit CMS v3.21.1 — 存储型跨站脚本攻击 (XSS) Exploit
CWE : `CWE-79` (输入处理不当)
CVSS 3.1 : `8.7` `(AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N)`
受影响版本 : Bludit CMS <= 3.21.1 (bl-kernel/)
漏洞 : 页面内容未经清理即被存储,并通过关闭了安全模式 (safe mode) 的 Parsedown 进行渲染。
影响 : 经过身份验证的 Author 及以上权限用户可以注入任意 JavaScript,这些代码会在所有访问者(包括 Administrator)的浏览器中执行。结合贯穿整个会话生命周期的 CSRF token → 实现完全接管管理员账户。
环境要求 : `pip install requests beautifulsoup4`
用法 :
```
python3 exploit.py --target http://127.0.0.1:8080 --username --password --attacker --payload
```
- 使用 `python3 exploit.py --help` 获取更多详细信息。
### 注意
JavaScript Payload 模板
所有 Payload 均使用单引号的 HTML 属性 (`onerror='...'`),以便双引号能在 JS 字符串和正则表达式字面量中原生使用。这避免了之前破坏 Payload 的 `\x22` 转义问题。
数据窃取使用了带有 URLSearchParams 主体的 navigator.sendBeacon()。Content-Type 会变为 `application/x-www-form-urlencoded` —— 这是一种“简单”的 CORS 类型,不会触发 OPTIONS 预检请求,而不像带有 application/json 的 Blob 会被浏览器预检,并在攻击者服务器缺少 `Access-Control-Allow-Origin` 头 (`webhook.site`) 时将其拦截。
Token 来源:`var tokenCSRF = "hex128"` (`js/variables.php:20`)。
这个 JS 全局变量通过 `admin/themes/booty/index.php:52` 存在于每一个管理员页面上。
标签:CSRF, PoC, Python, Web安全, Web报告查看器, XSS, 无后门, 暴力破解, 漏洞情报, 蓝队分析, 逆向工具