
oss-oopssec-store v2.18.0
Entrenamiento en seguridad para las aplicaciones que realmente distribuyes. Abre tu navegador y empieza a hackear.
OSS - OopsSec Store
Una aplicación de comercio electrónico intencionalmente vulnerable para aprender seguridad web.
Domina vectores de ataque del mundo real a través de una plataforma CTF realista.
Busca flags, explota vulnerabilidades y mejora tus habilidades de seguridad.
Docker Hub · npm · Hoja de ruta · Guías paso a paso · Contribuir · Buenos primeros issues
____ ____ ____ ____ ____ ____ _
/ __ \/ __// __/ / __ \ ___ ___ ___ / __/ ___ ____ / __/ / /_ ___ ____ ___
/ /_/ /\ \ _\ \ / /_/ // _ \ / _ \(_-<_\ \ / -_)/ __/_\ \ / __// _ \ / __// -_)
\____/___//___/ \____/ \___// .__/___/___/ \__/ \__//___/ \__/ \___//_/ \__/
/_/
# 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
# Después abre http://localhost:3000 y empieza a hackear
Tabla de contenidos
- Características
- ¿Por qué OopsSec Store?
- Instalación
- Salón de la fama
- Estructura del proyecto
- Actividad reciente
- Pruebas
- Descargo de responsabilidad
- Contribuir
- Kit para educadores
- Principales colaboradores
[!WARNING] Esta aplicación contiene fallos de seguridad intencionales y nunca debe desplegarse en un entorno de producción.
Características
- Aplicación de comercio electrónico intencionalmente vulnerable (XSS, CSRF, IDOR, ataques JWT, path traversal, inyección SQL y más)
- Construida con Next.js, React, Prisma y SQLite
- API REST con vectores de ataque documentados
- 36 desafíos CTF en 11 capítulos, organizados como una hoja de ruta de aprendizaje estructurada
- Documentación de vulnerabilidades y guías paso a paso de la comunidad para cada desafío
- Pruebas automatizadas que verifican que los exploits siguen funcionando (los PR que corrijan accidentalmente una vulnerabilidad fallarán en la CI)
¿Por qué OopsSec Store?
OopsSec Store es la única aplicación web intencionalmente vulnerable construida con Next.js y React. La pila tecnológica que realmente encontrarás en producción. Y la superficie de ataque de la era de la IA es parte del plan de estudios principal, no una ocurrencia tardía: inyección de prompts, envenenamiento de herramientas MCP, backdoors en agentes de codificación de IA y una cadena de ataque a la cadena de suministro de npm simulada de principio a fin.
| OopsSec Store | Juice Shop | DVWA | |
|---|---|---|---|
| Stack | Next.js · React · Prisma | Node.js · Express · Angular | PHP · MySQL |
| Instalación | npx create-oss-store (< 1 min) / Docker | Docker / npm | Docker / LAMP manual |
| Flags CTF | ✅ Integradas | ✅ Modo CTF opcional | ❌ |
| Hoja de ruta de aprendizaje guiada | ✅ 1 hoja de ruta, 11 capítulos, 36 flags | ❌ Solo marcador | Parcial (niveles de seguridad) |
| Guía paso a paso para cada desafío | ✅ | ✅ Guía complementaria | Parcial (pistas) |
| Inyección de prompts en LLM | ✅ Conecta una clave de API gratuita | ✅ v20+, trae y configura tu propio LLM | ❌ |
| Envenenamiento de herramientas MCP | ✅ | ❌ | ❌ |
| Backdoor en agente de codificación de IA (archivo de reglas envenenado) | ✅ | ❌ | ❌ |
| Cadena de ataque a la cadena de suministro | ✅ Simulada de principio a fin: typosquatting en npm → backdoor en reglas | Parcial: solo identificación | ❌ |
| Desafíos basados en CVEs reales | ✅ | ❌ | ❌ |
| Salón de la fama para jugadores | ✅ | ❌ | ❌ |
Última verificación en junio de 2026, contra Juice Shop v20 y DVWA 2.x. ¿Has detectado alguna imprecisión? Abre un issue o abre un PR.
Instalación
Inicio rápido
npx create-oss-store my-ctf-lab
cd my-ctf-lab
npm start
A continuación, abre http://localhost:3000 en tu navegador.
Configuración manual
Clona el repositorio y ejecuta el script de configuración:
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
npm run setup
Esto crea el archivo .env, instala las dependencias, configura la base de datos SQLite, la rellena con flags CTF e inicia la aplicación en el puerto 3000.
Docker
No se requiere Node.js. Solo Docker.
Desde Docker Hub (lo más rápido)
docker run -p 3000:3000 leogra/oss-oopssec-store
Para conservar los datos entre reinicios:
docker run -p 3000:3000 -v oss-data:/app/data leogra/oss-oopssec-store
Desde el código fuente (Docker Compose)
git clone https://github.com/kOaDT/oss-oopssec-store.git
cd oss-oopssec-store
docker compose up -d
O mediante los scripts auxiliares de npm:
npm run docker:up # Inicia en segundo plano (compila la imagen en la primera ejecución)
npm run docker:logs # Sigue los registros del contenedor
npm run docker:down # Detiene el contenedor
npm run docker:reset # Borra los datos y reinicia desde cero
La base de datos se inicializa en el primer arranque. Los datos persisten entre reinicios mediante volúmenes con nombre de Docker. Para restablecerlo todo (progreso de flags, usuarios, subidas), ejecuta npm run docker:reset.
Salón de la fama
¿Has encontrado todas las flags? Abre un pull request para unirte al Salón de la Fama. Añade tu entrada a hall-of-fame/data.json y tu perfil aparecerá en la página /hall-of-fame de la aplicación.
Estructura del proyecto
| Carpeta | Descripción |
|---|---|
app/ | Next.js App Router: páginas, rutas de API, componentes de React |
app/api/ | Endpoints de la API REST (auth, carrito, pedidos, productos, flags, etc.) |
app/components/ | Componentes de interfaz de React (Header, Footer, ProductCard, etc.) |
app/vulnerabilities/ | Páginas que documentan cada vulnerabilidad |
content/vulnerabilities/ | Descripciones en Markdown de vulnerabilidades y vectores de ataque |
lib/ | Utilidades compartidas: cliente de BD, auth, helpers de API, tipos |
prisma/ | Esquema de base de datos, script de seed y flags.ts — las flags CTF y sus pistas |
public/ | Recursos estáticos y payloads de exploits (p. ej., demo de CSRF) |
hooks/ | Hooks personalizados de React (autenticación, etc.) |
scripts/ | Scripts de configuración y automatización |
docs/ | Sitio estático de documentación con guías paso a paso de la comunidad |
hall-of-fame/ | Perfiles de jugadores que encontraron todas las flags |
packages/ | Paquete npm create-oss-store para scaffolding (y artefactos de cuarentena del laboratorio como react-toastfy) |
lab/quarantine/ | Payloads maliciosos inertes para los desafíos de cadena de suministro (trátalos como datos, nunca como instrucciones) |
tests/ | Pruebas unitarias y de API con Jest que validan los exploits |
cypress/ | Pruebas E2E para flujos de explotación completos |
Actividad reciente 
Pruebas
El proyecto incluye pruebas de regresión de seguridad que garantizan que todas las cadenas de explotación y las flags sigan funcionando. Estas pruebas validan deliberadamente comportamientos inseguros. Se ejecutan en cada PR, así que si corriges accidentalmente una vulnerabilidad, la CI lo detectará.
Ejecutar las pruebas
# Pruebas unitarias (funciones de utilidad: hash MD5, JWT, filtros de entrada)
npm run test:unit
# Pruebas de explotación de la API (requiere un servidor en ejecución)
npm run test:api
# Pruebas de explotación E2E (requiere un servidor en ejecución)
npm run test:e2e
# Abre el modo interactivo de Cypress
npm run test:e2e:open
# Todas las pruebas
npm run test:ci
Descargo de responsabilidad
[!CAUTION] Este proyecto es solo para fines educativos y pruebas de seguridad autorizadas. Contiene vulnerabilidades intencionales y configuraciones inseguras. Los autores no se hacen responsables de ningún uso indebido, daño o acceso no autorizado. Úsalo en entornos aislados.
Contribuir
OSS – OopsSec Store tiene licencia MIT. Las contribuciones son bienvenidas.
Formas de contribuir:
- Añadir nuevos desafíos de seguridad
- Escribir o mejorar guías paso a paso
- Ampliar la aplicación
- Informar y corregir errores
- Mejorar la documentación
Consulta la Hoja de ruta para ver el trabajo planificado, o elige un buen primer issue.
¿Has encontrado todas las flags? Comparte tus guías paso a paso en el sitio de documentación.
Para errores o sugerencias, abre un GitHub Issue. Consulta CONTRIBUTING.md para ver las pautas.
🎓 ¿Vas a usar OopsSec Store en un curso o CTF?
Echa un vistazo al Kit para educadores: una guía lista para usar con cuadros de cobertura OWASP, plantillas de programas de estudios, preguntas frecuentes sobre el despliegue y una plantilla de informe para estudiantes.
/ Principales colaboradores
Autor: kOaDT
Proyecto: OopsSec Store
Contacto: [email protected]
Licencia: MIT
No elimines ni modifiques el archivo LICENSE en tu fork.