filter_sortby 的 EasyStore Pro SQL 注入概念验证本仓库为 CVE-2026-65761 提供了一个教育性概念验证,该漏洞是一个无需身份验证的 SQL 注入漏洞,影响 EasyStore Joomla 扩展的 1.0.0 至 2.0.2(含)版本。只有插件的 Pro 版本受影响,因为 filter_sortby 参数受许可证限制。
该 PoC(poc.py)通过基于错误的检查方式,演示了产品搜索流程(option=com_easystore&view=products&task=search)中 filter_sortby 请求参数上的 SQL 注入。
本项目及 Docker 配套环境仅供本地安全测试与教育用途。
请勿针对您不拥有或未经明确授权测试的系统运行此工具。
易受攻击的代码路径属于Pro 专属功能。为了在可重现的本地实验室中审计该代码路径,本仓库在容器中应用了临时猴子补丁(monkeypatch),以便能够执行受 Pro 许可限制的排序/筛选路径。
这并非作为许可绕过技术提供,也不得用于在真实部署中访问付费功能。其唯一目的是在隔离的本地测试环境中支持防御性安全研究和协调漏洞验证。
.
├── backup.sql.gz
├── poc.py
├── vulnerable/
│ ├── docker-compose.yaml
│ └── setup.sh
└── patched/
├── docker-compose.yaml
└── setup.sh
poc.py: 漏洞利用 PoC。vulnerable/docker-compose.yaml: 易受攻击的实验室堆栈,位于 http://127.0.0.1:9999。patched/docker-compose.yaml: 已修补的实验室堆栈,位于 http://127.0.0.1:9999。backup.sql.gz: 初始化转储,包含此 PoC 所需的最小 EasyStore 商店数据集(2 个商品、1 个分类、基本商店设置)。vulnerable/setup.sh 和 patched/setup.sh: 将 backup.sql.gz 导入正在运行的 MariaDB 容器。pip install requests
启动易受攻击的环境:
docker compose -f vulnerable/docker-compose.yaml up -d
然后配置所需的 EasyStore 测试数据:
cd vulnerable
./setup.sh
cd ..
运行 PoC:
python3 poc.py
预期易受攻击的结果包括:
[!] Target is vulnerable to CVE-2026-65761!
首先停止易受攻击的堆栈(如果正在运行):
docker compose -f vulnerable/docker-compose.yaml down -v
启动已修补的环境:
docker compose -f patched/docker-compose.yaml up -d
然后配置相同的所需 EasyStore 测试数据:
cd patched
./setup.sh
cd ..
运行相同的 PoC:
python3 poc.py
预期已修补的结果为:
[-] Target is not vulnerable to CVE-2026-65761
在 poc.py 中,目标 URL 默认为 http://localhost:9999。
如果要在不同的主机或端口上运行该实验环境,请调整该值。