OWASP Juice Shop

Juice Shop Logo

OWASP Flagship GitHub release GitHub stars Twitter Follow

OpenSSF Best Practices Contributor Covenant

OWASP Juice Shop is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos, CTFs and as a guinea pig for security tools! Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along with many other security flaws found in real-world applications!

Slideshow

Description

Juice Shop is written in Node.js, Express and Angular. It was the first application written entirely in JavaScript listed in the OWASP VWA Directory.

The application contains a vast number of hacking challenges of varying difficulty where the user is supposed to exploit the underlying vulnerabilities. The hacking progress is tracked on a score board. Finding this score board is actually one of the (easy) challenges!

Apart from the hacker and awareness training use case, pentesting proxies or security scanners can use Juice Shop as a “guinea pig”-application to check how well their tools cope with JavaScript-heavy application frontends and REST APIs.

Translating “dump” or “useless outfit” into German yields “Saftladen” which can be reverse-translated word by word into “juice shop”. Hence the project name. That the initials “JS” match with those of “JavaScript” was purely coincidental!

Testimonials

The most trustworthy online shop out there. ( @dschadow) — The best juice shop on the whole internet! ( @shehackspurple) — Actually the most bug-free vulnerable application in existence! ( @vanderaj) — First you 😂😂then you 😢 ( @kramse) — But this doesn’t have anything to do with juice. ( @coderPatros’ wife)

Contributors

GitHub contributors Crowdin

The OWASP Juice Shop has been created by Björn Kimminich and is developed, maintained and translated by a team of volunteers. A live update of the project contributors is found here.

Licensing

license

This program is free software: You can redistribute it and/or modify it under the terms of the MIT License. OWASP Juice Shop and any contributions are Copyright © by Bjoern Kimminich & the OWASP Juice Shop contributors 2014-2023.


Main Selling Points

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

Application Architecture

Architecture diagram


Latest Releases

GitHub release GitHub release SourceForge SourceForge Docker Pulls

  • 2024-09-09T16:06:22Z: juice-shop v17.1.1
  • 2024-08-05T15:07:20Z: juice-shop v17.1.0
  • 2024-05-24T21:08:54Z: juice-shop v17.0.0
  • 2024-04-22T13:36:03Z: juice-shop v16.0.1
  • 2023-12-19T15:35:41Z: juice-shop v16.0.0
  • 2023-11-03T20:11:03Z: juice-shop v15.3.0
  • 2023-10-03T21:17:58Z: juice-shop v15.2.1
  • 2023-09-22T16:37:04Z: juice-shop v15.2.0
  • 2023-09-08T13:03:29Z: juice-shop v15.1.0
  • 2023-05-19T23:00:51Z: juice-shop v15.0.0
  • 2023-02-14T14:08:37Z: juice-shop v14.5.1
  • 2023-02-07T15:08:44Z: juice-shop v14.5.0
  • 2023-01-04T05:43:07Z: juice-shop v14.4.0
  • 2022-11-12T10:07:13Z: juice-shop v14.3.1
  • 2022-09-24T13:49:03Z: juice-shop v14.3.0

CTF Extension

GitHub release npm npm Docker Pulls

  • 2023-10-11T22:23:15Z: juice-shop-ctf v10.0.1
  • 2023-09-01T10:31:42Z: juice-shop-ctf v10.0.0
  • 2022-08-23T16:13:55Z: juice-shop-ctf v9.1.2
  • 2022-08-03T04:31:18Z: juice-shop-ctf v9.1.1
  • 2022-07-31T20:52:39Z: juice-shop-ctf v9.1.0
  • 2022-01-16T20:18:28Z: juice-shop-ctf v9.0.0
  • 2021-09-26T18:28:42Z: juice-shop-ctf v8.2.3

MultiJuicer

GitHub release

  • 2024-10-06T00:25:23Z: multi-juicer v7.3.2
  • 2024-09-19T13:26:34Z: multi-juicer v7.3.1
  • 2024-09-10T09:40:37Z: multi-juicer v7.3.0
  • 2024-04-19T17:48:27Z: multi-juicer v7.2.2
  • 2023-12-21T11:11:28Z: multi-juicer v7.2.1
  • 2023-12-21T11:05:26Z: multi-juicer v7.2.1-rc.0
  • 2023-12-20T11:17:36Z: multi-juicer v7.2.0
  • 2023-11-08T18:33:41Z: multi-juicer v7.1.0
  • 2023-10-18T18:04:26Z: multi-juicer v7.0.1

Roadmap

GitHub issues by-label GitHub issues by-label


Challenge Categories

The vulnerabilities found in the OWASP Juice Shop are categorized into several different classes. Most of them cover different risk or vulnerability types from well-known lists or documents, such as OWASP Top 10, OWASP ASVS, OWASP Automated Threat Handbook and OWASP API Security Top 10 or MITRE’s Common Weakness Enumeration.

Category # Challenges
Broken Access Control 11 Admin Section, CSRF, Easter Egg, Five-Star Feedback, Forged Feedback, Forged Review, Manipulate Basket, Product Tampering, SSRF, View Basket, Web3 Sandbox
Broken Anti Automation 4 CAPTCHA Bypass, Extra Language, Multiple Likes, Reset Morty's Password
Broken Authentication 9 Bjoern's Favorite Pet, Change Bender's Password, GDPR Data Erasure, Login Bjoern, Password Strength, Reset Bender's Password, Reset Bjoern's Password, Reset Jim's Password, Two Factor Authentication
Cryptographic Issues 5 Forged Coupon, Imaginary Challenge, Nested Easter Egg, Premium Paywall, Weird Crypto
Improper Input Validation 12 Admin Registration, Deluxe Fraud, Empty User Registration, Expired Coupon, Mint the Honey Pot, Missing Encoding, Payback Time, Poison Null Byte, Repetitive Registration, Upload Size, Upload Type, Zero Stars
Injection 11 Christmas Special, Database Schema, Ephemeral Accountant, Login Admin, Login Bender, Login Jim, NoSQL DoS, NoSQL Exfiltration, NoSQL Manipulation, SSTi, User Credentials
Insecure Deserialization 2 Blocked RCE DoS, Successful RCE DoS
Miscellaneous 7 Bully Chatbot, Mass Dispel, Privacy Policy, Score Board, Security Advisory, Security Policy, Wallet Depletion
Security Misconfiguration 4 Cross-Site Imaging, Deprecated Interface, Error Handling, Login Support Team
Security through Obscurity 3 Blockchain Hype, Privacy Policy Inspection, Steganography
Sensitive Data Exposure 17 Access Log, Confidential Document, Email Leak, Exposed Metrics, Forgotten Developer Backup, Forgotten Sales Backup, GDPR Data Theft, Leaked Access Logs, Leaked Unsafe Product, Login Amy, Login MC SafeSearch, Meta Geo Stalking, Misplaced Signature File, NFT Takeover, Reset Uvogin's Password, Retrieve Blueprint, Visual Geo Stalking
Unvalidated Redirects 2 Allowlist Bypass, Outdated Allowlist
Vulnerable Components 9 Arbitrary File Write, Forged Signed JWT, Frontend Typosquatting, Kill Chatbot, Legacy Typosquatting, Local File Read, Supply Chain Attack, Unsigned JWT, Vulnerable Library
XSS 9 API-only XSS, Bonus Payload, CSP Bypass, Client-side XSS Protection, DOM XSS, HTTP-Header XSS, Reflected XSS, Server-side XSS Protection, Video XSS
XXE 2 XXE Data Access, XXE DoS
Total Σ 107

Challenge Tags

Tags do not represent vulnerability categories but serve as additional meta information for challenges. They mark certain commonalities or special types of challenges - like those lacking seriousness or ones that probably need some scripting/automation etc.

Tag # Challenges
Brute Force 6 Bully Chatbot, CAPTCHA Bypass, Extra Language, Login Support Team, Password Strength, Reset Morty's Password
Code Analysis 10 Blockchain Hype, Forged Coupon, Imaginary Challenge, Kill Chatbot, Login Bjoern, Login Support Team, Outdated Allowlist, SSRF, SSTi, Score Board
Contraption 9 Blockchain Hype, Cross-Site Imaging, Deprecated Interface, Easter Egg, Forgotten Developer Backup, Forgotten Sales Backup, Misplaced Signature File, NFT Takeover, SSTi
Danger Zone 16 API-only XSS, Arbitrary File Write, Blocked RCE DoS, CSP Bypass, Client-side XSS Protection, HTTP-Header XSS, Local File Read, NoSQL DoS, NoSQL Exfiltration, Reflected XSS, SSTi, Server-side XSS Protection, Successful RCE DoS, Video XSS, XXE Data Access, XXE DoS
Good Practice 4 Exposed Metrics, Misplaced Signature File, Privacy Policy, Security Policy
Good for Demos 13 Admin Section, Confidential Document, DOM XSS, Easter Egg, Forged Coupon, Forgotten Developer Backup, Login Admin, NFT Takeover, Nested Easter Egg, Privacy Policy, Privacy Policy Inspection, Reflected XSS, View Basket
Internet Traffic 2 Mint the Honey Pot, Wallet Depletion
OSINT 15 Bjoern's Favorite Pet, Leaked Access Logs, Leaked Unsafe Product, Local File Read, Login Amy, Login MC SafeSearch, Meta Geo Stalking, Reset Bender's Password, Reset Bjoern's Password, Reset Jim's Password, Reset Morty's Password, Reset Uvogin's Password, Supply Chain Attack, Visual Geo Stalking, Vulnerable Library
Prerequisite 6 Allowlist Bypass, Arbitrary File Write, Deprecated Interface, Error Handling, Forgotten Developer Backup, Poison Null Byte
Shenanigans 11 Bonus Payload, Bully Chatbot, Easter Egg, Imaginary Challenge, Leaked Unsafe Product, Login MC SafeSearch, Missing Encoding, Nested Easter Egg, Premium Paywall, Privacy Policy Inspection, Steganography
Tutorial 11 Bonus Payload, DOM XSS, Forged Feedback, Login Admin, Login Bender, Login Jim, Password Strength, Privacy Policy, Reflected XSS, Score Board, View Basket
Web3 5 Blockchain Hype, Mint the Honey Pot, NFT Takeover, Wallet Depletion, Web3 Sandbox

Hacking Instructor Tutorials

Juicy Bot

Click on a link in the table below to launch a step-by-step tutorial for that particular challenge on our public https://demo.owasp-juice.shop instance. If you are entirely new to the Juice Shop, we recommend doing them in the listed order. With the (optional) Tutorial Mode you can even enforce that the 12 tutorial challenges have to be performed gradually in order to unlock the other 95 challenges.

Challenge Category Difficulty
Score Board Miscellaneous
DOM XSS XSS
Bonus Payload XSS
Privacy Policy Miscellaneous
Reflected XSS XSS ⭐⭐
Login Admin Injection ⭐⭐
Admin Section Broken Access Control ⭐⭐
Password Strength Broken Authentication ⭐⭐
View Basket Broken Access Control ⭐⭐
Forged Feedback Broken Access Control ⭐⭐⭐
Login Jim Injection ⭐⭐⭐
Login Bender Injection ⭐⭐⭐
Coding Challenges n/a n/a

Coding Challenges

For 27 challenges an additional coding challenge is available. In their “Find It” phase they teach spotting vulnerabilities in the actual codebase of the Juice Shop. In the “Fix It” phase the user then chooses the most appropriate fix from a list. Solve any of the hacking challenges below to enable a button on the Score Board that launches the corresponding coding challenge:

Category # Challenges
Broken Access Control 3 Admin Section, Forged Review, Product Tampering
Broken Anti Automation 1 Reset Morty's Password
Broken Authentication 5 Bjoern's Favorite Pet, Password Strength, Reset Bender's Password, Reset Bjoern's Password, Reset Jim's Password
Improper Input Validation 1 Admin Registration
Injection 6 Database Schema, Login Admin, Login Bender, Login Jim, NoSQL Manipulation, User Credentials
Miscellaneous 1 Score Board
Security through Obscurity 1 Blockchain Hype
Sensitive Data Exposure 4 Access Log, Confidential Document, Exposed Metrics, Reset Uvogin's Password
Unvalidated Redirects 2 Allowlist Bypass, Outdated Allowlist
XSS 3 API-only XSS, Bonus Payload, DOM XSS
Total Σ 27

For many solved challenges links to mitigation techniques are presented on the Score Board by offering a link to a corresponding OWASP Cheat Sheet explaining how to avoid that kind of vulnerability in the first place. The following cheat sheets are referred to by OWASP Juice Shop as mitigation links:


CTF Extension

Juice Shop CTF Logo

GitHub release GitHub stars

The Node package juice-shop-ctf-cli helps you to prepare Capture the Flag events with the OWASP Juice Shop challenges for different popular CTF frameworks. This interactive utility allows you to populate a CTF game server in a matter of minutes.

Juice Shop CLI in Powershell

Supported CTF Frameworks

The following open source CTF frameworks are supported by juice-shop-ctf-cli:


Official Companion Guide

Write Goodreads Review

Pwning OWASP Juice Shop is the official companion guide for this project. It will give you a complete overview of the vulnerabilities found in the application including hints how to spot and exploit them. In the appendix you will even find complete step-by-step solutions to every challenge.

Pwning OWASP Juice Shop cover Pwning OWASP Juice Shop back cover

The ebook is published under CC BY-NC-ND 4.0 and is online-readable for free at https://pwning.owasp-juice.shop. The latest officially released edition is also available for free at https://leanpub.com/juice-shop in PDF, Kindle and ePub format.

Official Multi User Platform

MultiJuicer Logo

Multi User Juice Shop Platform to run separate Juice Shop instances for training or CTF participants on a central Kubernetes cluster. MultiJuicer comes with a built-in leader board and its own dedicated Juice Balancer for instance isolation.

Official Jingle

Official OWASP Juice Shop Jingle written and performed by Brian Johnson

Endorsed Open Source Projects

Project Description
https://github.com/wurstbrot/shake-logger Demo to show the dangers of XSS holes combined with bad Content Security Policy using Harlem Shake and a Keylogger against the Juice Shop (📺YouTube)

The tools listed above are provided by third parties outside the OWASP Juice Shop project scope. For support or feature requests please use the support channels or issue trackers mentioned by these projects.


Project Supporters

You can attribute your donation to the OWASP Juice Shop project by using this link or the green “Donate”-button while on any tab of the Juice Shop project page!

Top Supporters

Your company name

In order to be recognized as a “Top Supporter” a company must have donated $1000 or more a) to OWASP while attributing it to Juice Shop or b) as a restricted gift to OWASP Juice Shop in the last 12 months.

All Corporate Supporters

All Individual Supporters

  • Björn Kimminich

  • Jeroen Willemsen

  • Soron Foster

  • Bendik Mjaaland

  • Timo Pagel

  • Benjamin Pfänder

  • Kevin Chung

  • Brian Johnson

  • Omar Santos

  • Merlyn Albery

  • Alper Basaran

  • Jediah Logiodice

  • Kenyo Kaneda

  • Ian Sexton

  • You want to appear on this list? Donate to OWASP here! 🤲

All Corporate-sponsored Code Contributions

In order to be recognized as a “Corporate-sponsored Code Contribution” an official written confirmation of waiving all IP to the contributed code must be formally submitted to the OWASP Foundation.

LeanPub Royalties

Pwning OWASP Juice Shop

$1,251.68 of royalties from Björn Kimminich’s eBook have been donated to the project between 09/2017 and 07/2019.

MultiJuicer Maintenance

MultiJuicer was originally developed (and is still maintained primarily) by iteratec. It became an official part of the OWASP Juice Shop project 05/2023.

iteratec


The OWASP Foundation is very grateful for the support by the individuals and organizations listed. However, please note, the OWASP Foundation is strictly vendor neutral and does not endorse any of its supporters.


DSOMM & Juice Shop User Day 2024

The OWASP DSOMM & Juice Shop teams are happy to announce their upcoming shared User Day on Wednesday, September 25th 2024. It is part of the OWASP AppSec San Francisco.

Location

Hyatt Regency San Francisco Address: 5 Embarcadero Center San Francisco, CA 94111 United States

Room: Bayview A (Bay Level)

Registration

  1. Go to OWASP Global AppSec San Francisco 2024 on Eventbrite
  2. Click Get Tickets
  3. Scroll down to Elevate: DSOMM and Juice Shop User Day (Sept. 25) and add ticket(s) to basket for $55.20 each*
  4. Click Checkout

* = covers fees for room, AV, and catering throught the day.

Agenda

Time Title Facilitator
9:00 Welcome: Juice Shop Morning Björn Kimminich & Timo Pagel
9:05 Juice Shop Introduction Björn Kimminich
9:30 Shake Logger XSS Demo Timo Pagel
9:45 Multi Juicer Introduction Jannik Hollenbach
10:30 Just-for-fun-CTF w/ Multi Juicer Jannik Hollenbach
12:30 Lunch Break (w/ Juice Shop Ask-us-Anything Session) Björn Kimminich & Jannik Hollenbach & Timo Pagel
     
13:30 Welcome: DSOMM Afternoon Björn Kimminich & Timo Pagel
13:35 Application Security Program Experiences / Ask Anything Brook Schoenfield & Timo Pagel
14:30 DSOMM Live Assessment for the OWASP Juice Shop Application Björn Kimminich & Jannik Hollenbach & Timo Pagel
15:30 Reach your Dynamic Depth with OWASP secureCodeBox Jannik Hollenbach
16:30 Workshop: Application and Vulnerability maturity Model (VMM) - DSOMM Map Francesco Cipollone & Timo Pagel
18:30 Wrap Up Timo Pagel

Talk Descriptions

Juice Shop Introduction

In the brief session, you will learn all the basics of the OWASP Juice Shop project: Why it exists, what it can do, where you can get it from, and how to get it running! This session will make sure that newcomers and experts alike can enjoy and follow in the subsequent Juice Shop sessions!

Shake Logger XSS Demo

Cross-Site Scripting (XSS) demonstrations in secure coding training often rely on simple alert boxes, which can understate the true risks of this vulnerability. This session will show you how to effectively illustrate the damage potential of XSS to both developers and non-technical audiences, providing a more realistic and compelling demonstration of its impact.

Multi Juicer Introduction

Running CTFs and security trainings with OWASP Juice Shop is usually quite tricky, as Juice Shop isn’t intended to be used by multiple users at the same time. MultiJuicer is a Juice Shop sub-project designed to make running trainings and CTFs with Juice Shop as easy and effective as possible. This session introduces the project and provides tips and tricks for setting it up in various cloud or on-prem environments.

Just-for-fun-CTF w/ Multi Juicer

In this session, we will use MultiJuicer to host a short CTF on a live MultiJuicer environment to demonstrate how it can be used for trainings and CTFs. This will be a hands-on session, so be sure to bring your laptops!

Application Security Program Experiences / Ask Anything

Brook and Timo will talk about their experiences with Application Security Programs. Everyone is invited to join the conversation. Please bring your questions!

DSOMM Live Assessment for the OWASP Juice Shop Application

In this session, Timo will perform an assessment of the OWASP Juice Shop by interviewing other Juice Shop Core Members by filling out custom yaml files. Learn how to lead a DSOMM interview and at the same time fill out the DSOMM yaml files to document the assessment.

Reach your Dynamic Depth with OWASP secureCodeBox

Implementing automated scanning for applications within an organization presents a complex task due to various factors. While configuring the scans themselves poses a challenge (DSOMM subdimension “Dynamic depth for applications”), interpreting and utilizing the resulting data in a meaningful way is often even more challenging (DSOMM subdimension “Consolidation”).

This presentation aims to provide guidance on how to utilize the OWASP secureCodeBox project as a tool to automate dynamic scans, leveraging tools such as ZAP, Nuclei, and SSLyze. Specifically, it will demonstrate how to either schedule regular scans or automatically create them via the AutoDiscovery feature of the secureCodeBox. The talk will also highlight the ability to utilize the secureCodeBox for automated creation of scans on Kubernetes deployments.

Furthermore, this presentation will showcase how the secureCodeBox can be used to automatically upload and organize scan results to OWASP DefectDojo, streamlining your security workflow.

Workshop: Application and Vulnerability maturity Model (VMM) - DSOMM Map

Organizations face an ever-increasing risk of cyberattacks and data breaches. Vulnerabilities are getting discovered faster than ever, with a 34% YoY increase of vulnerability discovery. Vulnerabilities are often tackled as they come from security scanners, leading to burnout of security professionals, with 50% of security engineers considering changing their profession entirely. This workshop explores the vulnerability management process that applies to application, cloud, and infrastructure security.

To mitigate these risks, vulnerability management and triage have become essential components of an effective cybersecurity program. Vulnerability triage, in particular, plays a critical role in identifying, prioritizing, and remediating vulnerabilities to minimize the organization’s attack surface across applications, cloud and infrastructure. However, the process of vulnerability triage is not a one-size-fits-all approach and requires a maturity model that reflects the organization’s current state of readiness. In this workshop, you will explore the evolution of vulnerability management and triage process maturity and how organizations can enhance their capabilities to manage and mitigate cybersecurity risks effectively.

Why we created the vulnerability management process? We created the vulnerability maturity model to provide a quick and easy assessment method to define where you are in the vulnerability assessment process from triage. The VMM is mapped back to both SAMM, and DSOMM.

Speakers

Bio Brook

Books by Brook S.E. Schoenfield include Building In Security At Agile Speed (Auerbach, 2021, co-authored with James Ransome), Secrets Of A Cyber Security Architect (Auerbach, 2019) and Securing Systems: Applied Security Architecture and Threat Models (CRC Press, 2015). He co-authored The Threat Modeling Manifesto (2020), Threat Modeling Capabilities (2023), Avoiding the Top 10 Security Design Flaws (IEEE, 2014) and Tactical Threat Modeling (SAFECode, 2017). He has taught 100’s of security architects, and 1000’s have attended his threat modelling trainings. He technically led five AppSec/software security programs and 4 consulting practices. Currently, Mr. Schoenfield works with organizations to improve their software security practices as CTO and Chief Security Architect at Resilient Software Security. He also teaches at the University of Montana. He regularly speaks at conferences and appears in podcasts/webinars. Please see https://www.linkedin.com/in/brookschoenfield/ or brookschoenfield.com for details.

Bio Francesco

Francesco is a seasoned entrepreneur, CISO & Founder of the code to runtime Contextual-Based Actionable ASPM platform Phoenix Security, author of several books, host of multi-award Cyber Security & Cloud Podcast, speaker and known in the cybersecurity industry and recognized for his visionary views. He currently serves as in the board of UK&I Cloud Security Alliance Chapter,. Francesco Has appeared in several publication like Forbes, Helpnet Security, Hacker noon and interviewed as part of Forbes, Il fatto quotidiano and many other newspapers. Francesco is a faculty member at IANS on application security and cloud security. Francesco is often featured in popular podcast like Application Security weekly, down the rabbit hole, Cloud Security Podcast, appsec weekly. Francesco is frequently speaking at conferences nationally and internationally, Appsec Cali, open security summit, Cyber security & Cloud Expo, Previously, Francesco headed HSBC’s application and cloud security and was Senior Security Consultant at AWS. Francesco has been keynoting at global conferences and has authored and co-authored several books, whitepapers, Outside of work, you can find me running marathons, snowboarding on the Italian slopes, and enjoying single malt whiskeys in one of my favourite London clubs.

Bio Jannik

Jannik Hollenbach is a Software Security Engineer at iteratec GmbH, working on and with open source security testing tools to continuously detect security vulnerabilities in the companies software and systems.

He is also a member of the OWASP secureCodeBox & OWASP Juice Shop project teams.

Bio Timo

With over 20 years of experience in DevSecOps, security, and web development, Timo Pagel is a freelance consultant committed to helping clients achieve reliable and secure cloud solutions. Holding CCSP and CEH certifications, Timo possesses vast knowledge secure design and application security programs.

As a DevSecOps architect, Timo collaborates with multiple organizations to design, implement, and monitor best security practices, workflows automation, and integrate security testing tools.

Timo loves Open Source and is the leader of the OWASP DevSecOps Maturity Model (DSOMM).

Additionally, Timo provides training and mentorship on security in web applications, both as a freelancer and a university lecturer. Timo’s mission is to empower clients and students with the skills & knowledge to build and maintain secure web applications.

Bio Björn

Bjoern Kimminich works as Product Group Lead Application Ecosystem at Kuehne + Nagel, responsible – among other things – for the Application Security program in the corporate IT. He is an OWASP Lifetime Member, the project leader of the OWASP Juice Shop, and a co-chapter leader for the OWASP Germany Chapter. Björn also currently chairs the OWASP Project Committee.