MoxitPanchal/EverShop-Lab-CVE-2026-25993

GitHub: MoxitPanchal/EverShop-Lab-CVE-2026-25993

基于 Docker 快速部署的 EverShop 二阶 SQL 注入漏洞靶场,用于安全学习与漏洞复现。

Stars: 0 | Forks: 0

# CVE-2026-25993 — EverShop 二阶 SQL 注入靶场 ## 前置条件 - Docker Engine 24+ 以及 Docker Compose v2+ - 2 GB 空闲 RAM ## 部署 ``` cd EverShop-Lab/ docker compose up ``` 首次构建请等待约 2 分钟(包括克隆 EverShop v2.1.0,进行编译,运行迁移以及生成种子数据)。 应用程序将通过 `http://localhost:3000` 访问。 ### 凭据 | 字段 | 值 | |---|---| | 管理员邮箱 | `admin@evershop.io` | | 管理员密码 | `password123` | ### 停止 / 重置 ``` # 停止 lab(保留数据) docker compose down # 停止并删除所有数据(下次全新开始) docker compose down -v # 从零开始重建 docker compose down -v docker compose up -d --build ``` ## 漏洞说明 CVE-2026-25993 是 EverShop 分类 URL 重写处理过程中的一个**二阶 SQL 注入**漏洞。`url_key` 字段仅验证了 `^\S+$`(不允许包含空白字符),从而允许了 SQL 元字符的使用。当更新分类时,事件订阅器会通过字符串拼接构建原始 SQL 语句,并在数据库中执行存储的 `url_key`。 ## 目标 **导出整个数据库。** 本靶场没有 flag。你的目标是: 1. 提取 PostgreSQL 版本字符串(作为注入成功的证明) 2. 枚举所有数据库表 3. 从关键表(如 admin_user、customer、product 等)中提取行数据 ## 提示 分类的 `url_key` 字段会拒绝空格,但接受 `'` 和 `||`。当更新分类时,事件订阅器会将该 `url_key` 拼接到原始 SQL 的 `REPLACE()` 调用中。创建一个父分类,在其下添加一个子分类,然后更新父分类的 `url_key` ——大约 15 秒后,结果将体现在子分类的 `url_rewrite` 条目中。 ## 参考 - [CVE-2026-25993](https://nvd.nist.gov/vuln/detail/CVE-2026-25993) - [GitHub 安全公告 GHSA-3h84-9rhc-j2ch](https://github.com/evershopcommerce/evershop/security/advisories/GHSA-3h84-9rhc-j2ch) - [EverShop 代码库](https://github.com/evershopcommerce/evershop)
标签:MITM代理, 测试用例, 版权保护, 自定义脚本, 请求拦截