OopsSec Store vs Juice Shop vs DVWA
Three intentionally vulnerable web apps, compared feature by feature.
OWASP Juice Shop and DVWA are the reference labs for learning web application security, and both are actively maintained. OopsSec Store covers the same ground on the stack many teams ship today: a Next.js App Router storefront with React Server Components, middleware and Prisma. It adds challenges aimed at the attack surface that came with AI-assisted development.
| Criterion | OopsSec Store | Juice Shop | DVWA |
|---|---|---|---|
| Stack | Next.js · React · TypeScript · Prisma | Node.js · Express · Angular | PHP · MySQL |
| Setup | npx create-oss-store / Docker | Docker / npm | Docker / manual LAMP |
| CTF flags | Yes Built in (static flags) | Yes Opt-in, per-instance flags ( CTF_KEY); CTFd/RootTheBox/FBCTF | No |
| Guided learning roadmap | Yes 1 roadmap, 11 chapters, 38 flags | No Score board only | Partial security levels |
| Walkthrough for every challenge | Yes | Yes Companion guide | Partial hints |
| LLM prompt injection | Yes Bring a Mistral API key | Yes v20+, local Ollama by default or any OpenAI-compatible endpoint | No |
| MCP tool poisoning | Yes | No | No |
| AI coding-agent backdoor (poisoned rules file) | Yes | No | No |
| Supply-chain attack chain | Yes Simulated end to end: npm typosquat → rules backdoor | Partial identification only | No |
| Challenges built on real CVEs | Yes Next.js / React framework CVEs | Partial vulnerable npm dependencies | No |
| Hall of Fame for players | Yes | No | No |
Last verified November 2026, against Juice Shop v20.4 and DVWA 2.5. Sources: Juice Shop v20.4.0 release notes, Juice Shop companion guide, DVWA repository. Spotted an inaccuracy? Open an issue.
When to pick which
OWASP Juice Shop
Pick it for breadth. It has the largest catalog of the three, with 118 challenges in v20.4, plus coding challenges where you spot the vulnerable code, then pick the right fix. Its companion CTF tool exports per-instance flags to CTFd, RootTheBox or FBCTF, which makes it the stronger choice for a scored event. Its AI challenges run against a local Ollama model by default, so they work offline.
DVWA
Pick it for the fundamentals. It teaches the classic bug classes in their simplest form, in PHP. Every module comes in four security levels (low, medium, high, impossible): you exploit the same bug as the defenses tighten, then compare the source of each level side by side.
OopsSec Store
Pick it for the modern stack. It fits if you build or review Next.js and React apps, or want to train on the attack surface AI-assisted development opened: prompt injection against a support agent, MCP tool poisoning, a backdoored coding-agent rules file and an npm typosquat chain simulated end to end. Two challenges reproduce framework CVEs (CVE-2025-29927 in Next.js middleware, CVE-2025-55182 in React Server Components), and the 38 challenges are laid out across the 11 chapters of a roadmap, each with a walkthrough. The AI challenges need a Mistral API key.
Start the lab
# With Node.js
npx create-oss-store my-ctf-lab && cd my-ctf-lab && npm start
# With Docker
docker run -p 127.0.0.1:3000:3000 leogra/oss-oopssec-store
Then open http://localhost:3000 and follow the
roadmap from challenge #1.