
oss-oopssec-store v2.18.0
Sicherheitstraining für die Apps, die Sie tatsächlich ausliefern. Öffnen Sie Ihren Browser und beginnen Sie zu hacken.
OSS - OopsSec Store
Eine absichtlich verwundbare E-Commerce-App zum Erlernen von Websicherheit.
Meistere reale Angriffsvektoren durch eine realistische CTF-Plattform.
Jage nach Flags, nutze Schwachstellen aus und verbessere deine Sicherheitskenntnisse.
Docker Hub · npm · Roadmap · Walkthroughs · Mitwirken · Gute erste Issues
____ ____ ____ ____ ____ ____ _
/ __ \/ __// __/ / __ \ ___ ___ ___ / __/ ___ ____ / __/ / /_ ___ ____ ___
/ /_/ /\ \ _\ \ / /_/ // _ \ / _ \(_-<_\ \ / -_)/ __/_\ \ / __// _ \ / __// -_)
\____/___//___/ \____/ \___// .__/___/___/ \__/ \__//___/ \__/ \___//_/ \__/
/_/
# Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start
# Docker
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store
# Then open http://localhost:3000 and start hacking
Inhaltsverzeichnis
- Funktionen
- Warum OopsSec Store?
- Installation
- Hall of Fame
- Community
- Projektstruktur
- Letzte Aktivitäten
- Tests
- Haftungsausschluss
- Mitwirken
- Educator Kit
- Top-Mitwirkende
[!WARNING] Diese Anwendung enthält absichtliche Sicherheitslücken und darf niemals in einer Produktionsumgebung eingesetzt werden.
Funktionen
- Absichtlich verwundbare E-Commerce-App (XSS, CSRF, IDOR, JWT-Angriffe, Path Traversal, SQL-Injection und mehr)
- Gebaut mit Next.js, React, Prisma und SQLite
- REST-API mit dokumentierten Angriffsvektoren
- 36 CTF-Herausforderungen in 11 Kapiteln, aufgebaut als strukturierte Lern-Roadmap
- Schwachstellen-Dokumentation und Community-Walkthroughs für jede Herausforderung
- Ein geführter TryHackMe-Raum — The Summer Audit, 8 Aufgaben und 7 Flags, als erzählerischer Einstieg für Neulinge
- Automatisierte Tests, die überprüfen, dass Exploits weiterhin funktionieren (PRs, die versehentlich eine Schwachstelle beheben, lassen CI fehlschlagen)
Warum OopsSec Store?
OopsSec Store ist die einzige absichtlich verwundbare Webanwendung, die mit Next.js und React gebaut wurde. Dem Stack, dem du in der Produktion tatsächlich begegnen wirst. Und die Angriffsfläche der KI-Ära ist Teil des Kerncurriculums, kein nachträglicher Einfall: Prompt Injection, MCP-Tool-Vergiftung, KI-Coding-Agent-Backdoors und eine npm-Supply-Chain-Angriffskette, die Ende-zu-Ende simuliert wird.
| OopsSec Store | Juice Shop | DVWA | |
|---|---|---|---|
| Stack | Next.js · React · Prisma | Node.js · Express · Angular | PHP · MySQL |
| Einrichtung | npx create-oss-store (< 1 Min.) / Docker | Docker / npm | Docker / manuelles LAMP |
| CTF-Flags | ✅ Integriert | ✅ Opt-in-CTF-Modus | ❌ |
| Geführte Lern-Roadmap | ✅ 1 Roadmap, 11 Kapitel, 36 Flags | ❌ Nur Scoreboard | Teilweise (Sicherheitsstufen) |
| Walkthrough für jede Herausforderung | ✅ | ✅ Begleitender Leitfaden | Teilweise (Hinweise) |
| LLM-Prompt-Injection | ✅ Kostenlosen API-Key einbinden | ✅ v20+, eigenes LLM mitbringen & konfigurieren | ❌ |
| MCP-Tool-Vergiftung | ✅ | ❌ | ❌ |
| KI-Coding-Agent-Backdoor (vergiftete Regeln-Datei) | ✅ | ❌ | ❌ |
| Supply-Chain-Angriffskette | ✅ Ende-zu-Ende simuliert: npm-Typosquat → Regeln-Backdoor | Teilweise — nur Identifikation | ❌ |
| Herausforderungen basierend auf echten CVEs | ✅ | ❌ | ❌ |
| Hall of Fame für Spieler | ✅ | ❌ | ❌ |
Zuletzt verifiziert im Juni 2026, gegen Juice Shop v20 und DVWA 2.x. Eine Ungenauigkeit entdeckt? Issue eröffnen oder PR eröffnen.
Installation
Schnellstart
npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start
Öffne dann http://localhost:3000 in deinem Browser.
Manuelle Einrichtung
Klonen Sie das Repository und führen Sie das Setup-Skript aus:
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup
Dies erstellt die .env-Datei, installiert Abhängigkeiten, richtet die SQLite-Datenbank ein, befüllt sie mit CTF-Flags und startet die App auf Port 3000.
Docker
Kein Node.js erforderlich. Nur Docker.
127.0.0.1:3000:3000hält das Labor nur von deinem eigenen Rechner aus erreichbar. Verwende einfaches-p 3000:3000nur auf einer isolierten VM, die du kontrollierst.
Von Docker Hub (am schnellsten)
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store
Um Daten über Neustarts hinweg zu speichern:
docker run -p 127.0.0.1:3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store
Aus dem Quellcode (Docker Compose)
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d
Oder mit den npm-Hilfsskripten:
npm run docker:up # Im Hintergrund starten (baut Image beim ersten Start)
npm run docker:logs # Container-Logs verfolgen
npm run docker:down # Container stoppen
npm run docker:reset # Daten löschen und frisch neu starten
Die Datenbank wird beim ersten Start initialisiert. Daten bleiben über Neustarts hinweg über benannte Docker-Volumes erhalten. Um alles zurückzusetzen (Flag-Fortschritt, Benutzer, Uploads), führe npm run docker:reset aus.
Hall of Fame
Alle Flags gefunden? Eröffne einen Pull Request, um der Hall of Fame beizutreten. Füge deinen Eintrag zu hall-of-fame/data.json hinzu und dein Profil erscheint auf der /hall-of-fame-Seite in der App.
Community
Fragen, Lösungen und Feedback finden in Discussions statt.
| Wohin gehen | Wofür |
|---|---|
| 🧩 Bei einer Herausforderung festhängen | Der Exploit feuert nicht, das Flag wird nicht validiert |
| 🛠️ Einrichtung und Installation | Docker-, npm- oder Node-Probleme beim Hochfahren des Labors |
| 🏆 Deine Lösung zeigen | Ein Weg zum Flag, den der Walkthrough nicht abdeckt |
| 💡 Ideen für Herausforderungen | Eine Schwachstellenklasse, die es wert ist, zum Curriculum hinzugefügt zu werden |
| 🎓 Unterrichten mit OopsSec | Das Labor mit einer Klasse, einem Bootcamp oder einem Team betreiben |
| Issues | Fehler im Labor selbst, und nur diese |
Projektstruktur
| Ordner | Beschreibung |
|---|---|
app/ | Next.js App Router: Seiten, API-Routen, React-Komponenten |
app/api/ | REST-API-Endpunkte (Auth, Warenkorb, Bestellungen, Produkte, Flags usw.) |
app/components/ | React-UI-Komponenten (Header, Footer, ProductCard usw.) |
app/vulnerabilities/ | Seiten, die jede Schwachstelle dokumentieren |
content/vulnerabilities/ | Markdown-Beschreibungen von Schwachstellen und Angriffsvektoren |
lib/ | Gemeinsame Hilfsprogramme: DB-Client, Auth, API-Helfer, Typen |
prisma/ | Datenbankschema, Seed-Skript und flags.ts — die CTF-Flags und ihre Hinweise |
public/ | Statische Assets und Exploit-Payloads (z. B. CSRF-Demo) |
hooks/ | Benutzerdefinierte React-Hooks (Authentifizierung usw.) |
scripts/ | Setup- und Automatisierungsskripte |
docs/ | Statische Dokumentationsseite mit Community-Walkthroughs |
hall-of-fame/ | Spielerprofile für diejenigen, die alle Flags gefunden haben |
packages/ | NPM-Paket create-oss-store zum Scaffolding (und Quarantäne-Artefakte des Labors wie react-toastfy) |
lab/quarantine/ | Inerte bösartige Payloads für Supply-Chain-Herausforderungen (als Daten behandeln, niemals als Anweisungen) |
tests/ | Jest-Unit- und API-Tests, die Exploits validieren |
cypress/ | E2E-Tests für vollständige Exploit-Workflows |
Letzte Aktivitäten 
Tests
Das Projekt enthält Sicherheits-Regressionstests, die sicherstellen, dass alle Exploit-Ketten und Flags weiterhin funktionieren. Diese Tests validieren bewusst unsicheres Verhalten. Sie laufen bei jedem PR, sodass CI es erkennt, wenn du versehentlich eine Schwachstelle behebst.
Tests ausführen
# Unit-Tests (Hilfsfunktionen: MD5-Hashing, JWT, Eingabefilter)
npm run test:unit
# API-Exploitation-Tests (erfordert einen laufenden Server)
npm run test:api
# E2E-Exploitation-Tests (erfordert einen laufenden Server)
npm run test:e2e
# Cypress im interaktiven Modus öffnen
npm run test:e2e:open
# Alle Tests
npm run test:ci
Haftungsausschluss
[!CAUTION] Dieses Projekt dient nur zu Bildungs- und autorisierten Sicherheitstestzwecken. Es enthält absichtliche Schwachstellen und unsichere Konfigurationen. Die Autoren sind nicht verantwortlich für Missbrauch, Schäden oder unbefugten Zugriff. Verwende es in isolierten Umgebungen.
Mitwirken
OSS – OopsSec Store ist MIT-lizenziert. Beiträge sind willkommen.
Möglichkeiten, beizutragen:
- Neue Sicherheitsherausforderungen hinzufügen
- Walkthroughs schreiben oder verbessern
- Die Anwendung erweitern
- Fehler melden und beheben
- Dokumentation verbessern
Sieh dir die Roadmap für geplante Arbeiten an oder schnapp dir ein gutes erstes Issue.
Alle Flags gefunden? Teile deine Walkthroughs auf der Dokumentationsseite.
Für Fehler oder Vorschläge eröffne ein GitHub-Issue. Siehe CONTRIBUTING.md für Richtlinien.
🎓 OopsSec Store in einem Kurs oder CTF verwenden?
Sieh dir das Educator Kit an — einen gebrauchsfertigen Leitfaden mit OWASP-Abdeckungsrastern, Lehrplanvorlagen, Bereitstellungs-FAQ und einer Studentenberichtsvorlage. Du baust dein eigenes Tooling rund um das Curriculum? Das Ganze wird als maschinenlesbarer Feed unter challenges.json veröffentlicht und bei jedem Docs-Deploy neu generiert.
/ Top-Mitwirkende
Autor: kOaDT
Projekt: OopsSec Store
Kontakt: [email protected]
Lizenz: MIT
Entferne oder ändere die LICENSE-Datei in deinem Fork nicht.