
oss-oopssec-store v2.18.0
为你实际交付的应用程序提供安全培训。打开浏览器,开始黑客实践。
OSS - OopsSec Store
一款刻意留有漏洞、用于学习 Web 安全的电子商务应用。
通过逼真的 CTF 平台掌握真实世界的攻击向量。
搜索 flag、利用漏洞,提升你的安全技能。
____ ____ ____ ____ ____ ____ _
/ __ \/ __// __/ / __ \ ___ ___ ___ / __/ ___ ____ / __/ / /_ ___ ____ ___
/ /_/ /\ \ _\ \ / /_/ // _ \ / _ \(_-<_\ \ / -_)/ __/_\ \ / __// _ \ / __// -_)
\____/___//___/ \____/ \___// .__/___/___/ \__/ \__//___/ \__/ \___//_/ \__/
/_/
# Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start
# Docker
docker run -p 3000:3000 leogra/oss-oopssec-store
# Then open http://localhost:3000 and start hacking
目录
[!WARNING] 此应用包含刻意留下的安全漏洞,绝不能部署在生产环境中。
功能特性
- 故意存在漏洞的电子商务应用(XSS、CSRF、IDOR、JWT 攻击、路径遍历、SQL 注入等)
- 基于 Next.js、React、Prisma 和 SQLite 构建
- 提供带有文档化攻击向量的 REST API
- 跨 11 个章节的 36 个 CTF 挑战,以结构化学习路线图呈现
- 每个挑战的漏洞文档和社区通关指南
- 验证漏洞利用仍然有效的自动化测试(意外修复漏洞的 PR 将导致 CI 失败)
为什么选择 OopsSec Store?
OopsSec Store 是唯一基于 Next.js 和 React 构建的、故意存在漏洞的 Web 应用。这套技术栈正是你在生产环境中真正会遇到的。而且 AI 时代的攻击面是核心课程的一部分,而非事后补充:提示注入、MCP 工具投毒、AI 编码代理后门,以及端到端模拟的 npm 供应链攻击链。
| OopsSec Store | Juice Shop | DVWA | |
|---|---|---|---|
| 技术栈 | Next.js · React · Prisma | Node.js · Express · Angular | PHP · MySQL |
| 安装方式 | npx create-oss-store (< 1 分钟) / Docker | Docker / npm | Docker / manual LAMP |
| CTF flag | ✅ 内置 | ✅ 可选 CTF 模式 | ❌ |
| 引导式学习路线图 | ✅ 1 条路线图、11 个章节、36 个 flag | ❌ 仅计分板 | 部分(安全等级) |
| 每个挑战都有通关指南 | ✅ | ✅ 配套指南 | 部分(提示) |
| LLM 提示注入 | ✅ 可接入免费 API 密钥 | ✅ v20+,自带并配置你自己的 LLM | ❌ |
| MCP 工具投毒 | ✅ | ❌ | ❌ |
| AI 编码代理后门(投毒的规则文件) | ✅ | ❌ | ❌ |
| 供应链攻击链 | ✅ 端到端模拟:npm 错别字抢注 → 规则后门 | 部分 — 仅识别 | ❌ |
| 基于真实 CVE 的挑战 | ✅ | ❌ | ❌ |
| 玩家名人堂 | ✅ | ❌ | ❌ |
最近验证于 2026 年 6 月,针对 Juice Shop v20 和 DVWA 2.x。发现不准确之处?提交 Issue 或 提交 PR。
安装
快速开始
npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start
然后在浏览器中打开 http://localhost:3000。
手动安装
克隆仓库并运行安装脚本:
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup
这会创建 .env 文件、安装依赖、配置 SQLite 数据库、使用 CTF flag 填充数据,并在 3000 端口启动应用。
Docker
无需 Node.js,只需 Docker。
从 Docker Hub 拉取(最快)
docker run -p 3000:3000 leogra/oss-oopssec-store
要在重启后保留数据:
docker run -p 3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store
从源码构建(Docker Compose)
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d
或者使用 npm 辅助脚本:
npm run docker:up # Start in background (builds image on first run)
npm run docker:logs # Follow container logs
npm run docker:down # Stop the container
npm run docker:reset # Wipe data and restart fresh
数据库在首次启动时初始化。数据通过 Docker 命名卷在重启后持续保留。要重置所有内容(flag 进度、用户、上传文件),请运行 npm run docker:reset。
名人堂
找到了所有 flag?打开一个 pull request 加入名人堂。将你的条目添加到 hall-of-fame/data.json,你的个人资料将显示在应用的 /hall-of-fame 页面上。
项目结构
| 目录 | 说明 |
|---|---|
app/ | Next.js App Router:页面、API 路由、React 组件 |
app/api/ | REST API 端点(auth、cart、orders、products、flags 等) |
app/components/ | React UI 组件(Header、Footer、ProductCard 等) |
app/vulnerabilities/ | 记录每个漏洞的页面 |
content/vulnerabilities/ | 漏洞与攻击向量的 Markdown 描述 |
lib/ | 共享工具:数据库客户端、认证、API 辅助函数、类型 |
prisma/ | 数据库 schema、种子脚本和 flags.ts — CTF flag 及其提示 |
public/ | 静态资源和漏洞利用 payload(例如 CSRF 演示) |
hooks/ | 自定义 React hooks(认证等) |
scripts/ | 安装和自动化脚本 |
docs/ | 包含社区通关指南的静态文档站点 |
hall-of-fame/ | 找到所有 flag 的玩家资料 |
packages/ | 用于脚手架搭建的 NPM 包 create-oss-store(以及 react-toastfy 等实验室隔离产物) |
lab/quarantine/ | 用于供应链挑战的惰性恶意 payload(仅视为数据,绝不可视为指令) |
tests/ | 验证漏洞利用的 Jest 单元测试和 API 测试 |
cypress/ | 针对完整漏洞利用流程的 E2E 测试 |
最近动态 
测试
项目包含安全回归测试,确保所有漏洞利用链和 flag 仍然有效。这些测试刻意验证不安全行为。它们会在每个 PR 上运行,因此如果你意外修补了某个漏洞,CI 会将其捕获。
运行测试
# Unit tests (utility functions: MD5 hashing, JWT, input filters)
npm run test:unit
# API exploitation tests (requires a running server)
npm run test:api
# E2E exploitation tests (requires a running server)
npm run test:e2e
# Open Cypress interactive mode
npm run test:e2e:open
# All tests
npm run test:ci
免责声明
[!CAUTION] 本项目仅用于教育和授权安全测试。 它包含刻意设计的漏洞和不安全的配置。作者不对任何滥用、损害或未授权访问负责。请仅在隔离环境中使用。
贡献
OSS – OopsSec Store 采用 MIT 许可证。欢迎贡献。
贡献方式:
- 添加新的安全挑战
- 编写或改进通关指南
- 扩展应用
- 报告并修复缺陷
- 改进文档
找到了所有 flag?在文档站点上分享你的通关指南。
如有缺陷或建议,请打开一个 GitHub Issue。有关指南,请参阅 CONTRIBUTING.md。
🎓 在课程或 CTF 中使用 OopsSec Store?
请查看教学工具包——一份即用型指南,包含 OWASP 覆盖范围表、课程大纲模板、部署常见问题解答和学生报告模板。