Mohammad-008/rsfiles-CVE-2026-57827

GitHub: Mohammad-008/rsfiles-CVE-2026-57827

针对 Joomla RSFiles! 组件 CVE-2026-57827 未认证文件上传 RCE 漏洞的独立 PoC 利用与检测工具。

Stars: 0 | Forks: 0

# CVE-2026-57827 — RSFiles! 未认证文件上传 → RCE 针对 Joomla 的 **RSFiles!** (`com_rsfiles`) 组件中 **CVE-2026-57827** 的漏洞利用 + 独立检测工具,受影响版本 **< 1.17.12**(已在 `1.17.12` 中修复,CVSS 9.8 / 10.0)。 前端上传分为两个任务: 1. `rsfiles.checkupload` — 预检门(权限 + 扩展名白名单) 2. `rsfiles.upload` — 写入方法(无权限检查、无文件类型检查、无 CSRF) 写入任务可以被**直接**调用,从而跳过预检门,这使得未认证的攻击者可以将可执行的 `.php` 文件上传到公共文件夹并运行它 → **未认证 RCE**。 ## ⚠️ 本项目是什么 / 不是什么 - ✅ 为研究人员和防御者提供的一个清晰、易读的*描述性*攻击链重新实现。 - ✅ 包含一个**本地模拟服务器**,因此您可以以**零风险**验证整个流程,不会对任何真实系统造成影响。 - ✅ 包含一个**仅检测**模式,**完全不上传**任何文件。 - ❌ 并非供应商授权的 PoC —— 目前不存在公开的 PoC,这是基于公开安全公告的独立实现。 ## 文件 | 文件 | 用途 | |---|---| | `cve_2026_57827.py` | 漏洞利用 + 扫描器 + CLI(入口点) | | `rsfiles_detect.py` | 独立检测模块(无利用代码)—— 也有自己的 CLI | | `payload.py` | 模块化、紧凑的 PHP payload 构建器 | | `common.py` | 共享的 HTTP 客户端、配置和辅助工具 | | `mock_server.py` | 用于测试的安全本地模拟 | 所有模块必须位于**同一目录**中(它们会相互导入)。 ## 安装 ``` python3 -m pip install -r requirements.txt # or just: pip install requests ``` ## 使用说明 ### 1 · 仅检测(无上传,适合侦察) ``` python rsfiles_detect.py -t example.com ``` ``` Host : example.com RSFiles! : YES v1.17.11 Protocol : https Status : VULNERABLE (below 1.17.12) ``` 多主机: ``` python rsfiles_detect.py -f hosts.txt ``` ### 2 · 完整漏洞利用(单一目标) ``` python cve_2026_57827.py -t example.com ``` 成功后,该工具会打印出 shell URL **及其随机 token** 和命令输出 —— 该输出即为 RCE 的证明。 ### 3 · 批量扫描 + 报告 ``` python cve_2026_57827.py -f targets.txt --threads 30 -o shells.txt --csv report.csv ``` | 标志 | 描述 | |---|---| | `--threads N` | 并发数(默认为 30) | | `--proxy URL` | 通过代理路由(Burp/ZAP) | | `--timeout N` | 每个请求的超时时间(秒) | | `--no-cleanup` | 保留上传的 shell(默认:RCE 后自动删除) | | `-o FILE` | 保存 RCE URL | | `--csv FILE` | 完整的结构化报告 | | `--debug` / `-v` | 详细的请求级别日志 | ## 本地测试(零风险) ``` # Terminal 1 — 启动 mock(存在漏洞) python mock_server.py 8000 1.17.11 # Terminal 2 — 扫描它 python rsfiles_detect.py -t 127.0.0.1:8000 python cve_2026_57827.py -t 127.0.0.1:8000 ``` `1.17.11` / `1.17.10` = 存在漏洞 · `1.17.12` = 已修补。 ## 设计说明 - **模块化 payload**(`payload.py`):每种行为(gate、upload、exec、delete、list)都是一个小巧的函数;exec 函数名经过 base64 编码,因此像 `system` 这样的原始名称不会出现在文件字节中。 - **随机化的良性文件名**(例如 `cache7f31.php`),而不是经典的隐藏点文件 shell 名称。 - **增量计数器**(O(1)),而不是重新扫描结果。 - 通过 `common.base_of()` 进行**单一来源 URL 解析**。 ## 致谢 / 灵感 风格模仿了公开的 Joomla 组件漏洞利用集合(例如 `incredibleindishell/joomla-vulnerabilities`)以及针对此 CVE 的 RSJoomla/mysites.guru 安全公告说明。这是一个独立的实现;未使用任何公开的 PoC。 ## 许可证 MIT —— 详见 [LICENSE](LICENSE)。仅供研究/防御使用。
标签:CISA项目, Joomla, PoC, Ubuntu, Web安全, 威胁模拟, 无服务器架构, 暴力破解, 漏洞利用代码, 编程工具, 蓝队分析, 远程代码执行, 逆向工具