返回更新列表
新发布Aug 12, 2026

oss-oopssec-store v2.18.0

为你实际交付的应用程序提供安全培训。打开浏览器,开始黑客实践。

分享

OSS - OopsSec Store

为你实际交付的应用提供安全培训。

涵盖 Web、API、身份验证、业务逻辑、密码学、供应链、AI 代理和 MCP 的 36 个挑战。

攻破一个基于 Next.js、React、TypeScript 和 Prisma 构建的故意存在漏洞的电子商务应用。
找出漏洞。利用它们。理解它们为何奏效。

Docker Hub · npm · 路线图 · 通关指南 · 贡献 · 适合新手的问题

OWASP VWAD TryHackMe room Intentionally Vulnerable
GitHub license PRs Welcome Good first issues
GitHub stars GitHub forks

```bash

/ __ / // / / __ \ ___ ___ ___ / / ___ ____ / / / / ___ ____ ___ / // /\ \ \ \ / // // _ \ / _ (-<\ \ / -)/ __/\ \ / // _ \ / // -) _//// __/ _// ./// _/ _/// _/ ___/// _/ /_/

Start with Node.js

npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start

Start with Docker

docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store

Then open http://localhost:3000 and start hacking

<div align="center">

<table>
<tr>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-0.png"><img src="https://raw.githubusercontent.com/koadt/oss-oopssec-store/main/public/oopssec-store-storefront-0.png" alt="OopsSec Store storefront" width="100%"></a>
<br><sub><b>Storefront</b> · 你正在攻击的电子商务应用</sub>
</td>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-1.png"><img src="https://raw.githubusercontent.com/koadt/oss-oopssec-store/main/public/oopssec-store-storefront-1.png" alt="Player dashboard tracking captured flags" width="100%"></a>
<br><sub><b>玩家仪表盘</b> · 进度、难度和类别细分</sub>
</td>
</tr>
<tr>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-2.png"><img src="https://raw.githubusercontent.com/koadt/oss-oopssec-store/main/public/oopssec-store-storefront-2.png" alt="OSSBot AI customer support assistant" width="100%"></a>
<br><sub><b>OSSBot</b> · 你进行提示注入的 AI 支持助手</sub>
</td>
<td width="50%" align="center">
<a href="https://github.com/koadt/oss-oopssec-store/blob/main/public/oopssec-store-storefront-3.png"><img src="https://raw.githubusercontent.com/koadt/oss-oopssec-store/main/public/oopssec-store-storefront-3.png" alt="Challenge roadmap across 11 chapters" width="100%"></a>
<br><sub><b>路线图</b> · 随生产代码一起发布的漏洞</sub>
</td>
</tr>
</table>

<sub>点击任意截图可查看完整尺寸。</sub>

</div>

---

## 快速开始

<table>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/1-15803d?style=for-the-badge" alt="Step 1"></td>
<td valign="top">
<b>启动实验环境</b><br>
<code>npx create-oss-store my-ctf-lab &amp;&amp; cd my-ctf-lab &amp;&amp; npm start</code><br>
<sub>或者<a href="#docker">使用 Docker 运行</a>。商店会在 <a href="http://localhost:3000">localhost:3000</a> 上启动。</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/2-15803d?style=for-the-badge" alt="Step 2"></td>
<td valign="top">
<b>攻克挑战 #1</b><br>
<a href="http://localhost:3000/vulnerabilities/public-env-variable">公共环境变量泄露</a>:Next.js 将支付密钥打包进客户端 bundle。<br>
<sub>简单 · 15–20 分钟 · 只需浏览器开发者工具。</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/3-15803d?style=for-the-badge" alt="Step 3"></td>
<td valign="top">
<b>卡住了?阅读通关指南</b><br>
每个挑战都有一份,从漏洞到利用再到修复。<br>
<sub>第一篇:<a href="https://koadt.github.io/oss-oopssec-store/posts/next-public-env-variable-leak/">从浏览器读取机密:Next.js 中的 NEXT_PUBLIC_ 陷阱</a>。</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/4-15803d?style=for-the-badge" alt="Step 4"></td>
<td valign="top">
<b>验证 flag</b><br>
将 <code>OSS{...}</code> 粘贴到 flag 检查器中,即每个页面上的浮动小部件。<br>
<sub>你的<a href="http://localhost:3000/player-dashboard">玩家仪表盘</a>会追踪剩余内容。</sub>
</td>
</tr>
<tr>
<td width="56" align="center" valign="top"><img src="https://img.shields.io/badge/5-15803d?style=for-the-badge" alt="Step 5"></td>
<td valign="top">
<b>选择下一个</b><br>
<a href="https://koadt.github.io/oss-oopssec-store/roadmap">路线图</a>按章节排列每个挑战:难度、预计时间、前置条件。<br>
<sub>拿下下一张卡片,然后回到第 2 步。↻</sub>
</td>
</tr>
</table>

> [!TIP]
> 全部拿下了?[加入名人堂](#hall-of-fame),给仓库点个 star,并在 [Show your solve](https://github.com/kOaDT/oss-oopssec-store/discussions/categories/show-your-solve) 中发布你的通关路线。

<sub>刚接触攻防安全?<a href="https://tryhackme.com/jr/oopssecstorethesummeraudit">TryHackMe 房间</a>将最初的几个 flag 包装成一段引导式叙事。</sub>

---

## 目录

- [功能特性](#features)
- [为什么选择 OopsSec Store?](#why-oopssec-store)
- [安装](#installation)
  - [快速开始(npm)](#quick-start)
  - [Docker](#docker)
- [名人堂](#hall-of-fame)
- [社区](#community)
- [项目结构](#project-structure)
- [测试](#testing)
- [免责声明](#disclaimer)
- [贡献](#contributing)
- [教育者工具包](#-using-oopssec-store-in-a-course-or-ctf)
- [项目统计](#project-stats)

---

> [!WARNING]
> 此应用程序包含故意设置的安全漏洞,绝不可部署到生产环境中。

## 功能特性

- 故意存在漏洞的电子商务应用(XSS、CSRF、IDOR、JWT 攻击、路径遍历、SQL 注入等)
- 使用 Next.js(App Router)、React、TypeScript、Prisma 和 SQLite 构建
- 带有文档化攻击向量的 REST API
- 跨 11 个章节的 36 个 CTF 挑战,以结构化的[学习路线图](https://koadt.github.io/oss-oopssec-store/roadmap)呈现
- 每个挑战都有漏洞文档和社区通关指南
- 一个引导式 [TryHackMe 房间](https://tryhackme.com/jr/oopssecstorethesummeraudit):_The Summer Audit_,8 个任务和 7 个 flag,作为新手的叙事式入门
- 自动化测试验证漏洞利用仍然有效(意外修复漏洞的 PR 会导致 CI 失败)

## 为什么选择 OopsSec Store?

现代框架改变了安全漏洞出现的位置以及修复方式。OopsSec Store 将经典漏洞类别放入当今许多开发者使用的技术栈中:Next.js App Router、React、TypeScript 和 Prisma。

服务端渲染组件、中间件和 ORM 引入了不同的信任边界和故障模式。若干挑战还复现了针对此技术栈的已公开 CVE。

课程还涵盖了随 AI 辅助开发而来的攻击面:针对客户支持代理的提示注入、MCP 工具投毒、被植入后门的编码代理规则文件,以及端到端模拟的 npm 域名抢注链。

分类