Zurück zu den Updates
New releaseAug 12, 2026

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.

Teilen

OSS - OopsSec Store

Eine absichtlich verwundbare E-Commerce-App zum Erlernen von Web-Sicherheit.
Meistere reale Angriffsvektoren auf einer realistischen CTF-Plattform.
Jage nach Flags, nutze Schwachstellen aus und bring deine Sicherheitskenntnisse auf das nächste Level.

Docker Hub · npm · Roadmap · Walkthroughs · Mitwirken · Gute erste Issues

GitHub license PRs Welcome Good first issues Intentionally Vulnerable
GitHub stars GitHub forks


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

# 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

Inhaltsverzeichnis


[!WARNING] Diese Anwendung enthält absichtliche Sicherheitslücken und darf niemals in einer Produktionsumgebung bereitgestellt werden.

Funktionen

  • Absichtlich verwundbare E-Commerce-App (XSS, CSRF, IDOR, JWT-Angriffe, Path Traversal, SQL-Injection und mehr)
  • Entwickelt mit Next.js, React, Prisma und SQLite
  • REST-API mit dokumentierten Angriffsvektoren
  • 36 CTF-Challenges in 11 Kapiteln, aufgebaut als strukturierte Lern-Roadmap
  • Schwachstellen-Dokumentation und Community-Walkthroughs für jede Challenge
  • Automatisierte Tests, die prü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 entwickelt wurde. Der Stack, auf den du in der Produktion tatsächlich triffst. Und die Angriffsfläche der KI-Ära ist Teil des Kerncurriculums, kein nachträglicher Gedanke: Prompt Injection, MCP-Tool-Poisoning, KI-Coding-Agent-Backdoors und eine durchgängig simulierte npm-Supply-Chain-Angriffskette.

OopsSec StoreJuice ShopDVWA
StackNext.js · React · PrismaNode.js · Express · AngularPHP · MySQL
Setupnpx create-oss-store (< 1 min) / DockerDocker / npmDocker / manuelles LAMP
CTF-Flags✅ Integriert✅ Optionaler CTF-Modus
Geführte Lern-Roadmap✅ 1 Roadmap, 11 Kapitel, 36 Flags❌ Nur ScoreboardTeilweise (Sicherheitsstufen)
Walkthrough für jede Challenge✅ Begleitender LeitfadenTeilweise (Hinweise)
LLM-Prompt-Injection✅ Kostenlosen API-Key einbinden✅ v20+, eigenen LLM mitbringen & konfigurieren
MCP-Tool-Poisoning
KI-Coding-Agent-Backdoor (vergiftete Rules-Datei)
Supply-Chain-Angriffskette✅ Durchgängig simuliert: npm-Typosquatting → Rules-BackdoorTeilweise — nur Identifikation
Challenges auf Basis realer CVEs
Hall of Fame für Spieler

Zuletzt geprüft im Juni 2026 gegen Juice Shop v20 und DVWA 2.x. Eine Ungenauigkeit entdeckt? Issue eröffnen oder PR erstellen.

Installation

Schnellstart

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

Öffne anschließend http://localhost:3000 in deinem Browser.

Manuelle Einrichtung

Klone das Repository und führe 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.

Von Docker Hub (am schnellsten)

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

Um Daten über Neustarts hinweg zu erhalten:

docker run -p 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 über die npm-Helfer-Skripte:

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

Die Datenbank wird beim ersten Start initialisiert. Die 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? Erstelle 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.

Projektstruktur

OrdnerBeschreibung
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 Hilfsfunktionen: 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 alle, die alle Flags gefunden haben
packages/NPM-Paket create-oss-store zum Erstellen von Projekt-Gerüsten (und Labor-Quarantäne-Artefakten wie react-toastfy)
lab/quarantine/Inerte Schad-Payloads für Supply-Chain-Challenges (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ät Time period

Timeline graph Trending topics

Issue status graph Pull request status graph

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 jeder PR, sodass CI es erkennt, wenn du versehentlich eine Schwachstelle behebst.

Tests ausführen

# 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

Haftungsausschluss

[!CAUTION] Dieses Projekt dient ausschließlich Bildungs- und autorisierten Sicherheitstestzwecken. Es enthält absichtliche Schwachstellen und unsichere Konfigurationen. Die Autoren übernehmen keine Verantwortung 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, etwas beizutragen:

  • Neue Sicherheits-Challenges hinzufügen
  • Walkthroughs schreiben oder verbessern
  • Die Anwendung erweitern
  • Fehler melden und beheben
  • Dokumentation verbessern

Wirf einen Blick auf die Roadmap für geplante Arbeiten 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. Richtlinien findest du in CONTRIBUTING.md.

🎓 Nutzt du OopsSec Store in einem Kurs oder CTF?

Schau dir das Educator Kit an – ein einsatzbereiter Leitfaden mit OWASP-Abdeckungsmatrizen, Lehrplanvorlagen, Deployment-FAQ und einer Vorlage für Studierendenberichte.

Repography logo / Top-Mitwirkende

Top contributors


Autor: kOaDT
Projekt: OopsSec Store
Kontakt: [email protected]

Lizenz: MIT

Entferne oder ändere die LICENSE-Datei in deinem Fork nicht.

Kategorien