OWASP Juice Shop

Juice Shop Logo

OWASP Flagship GitHub release GitHub stars Twitter Follow

CII 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!

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 2014-2020.


Main Selling Points

Application Architecture

Architecture diagram

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)


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 10 Admin Section, CSRF, Easter Egg, Five-Star Feedback, Forged Feedback, Forged Review, Manipulate Basket, Product Tampering, SSRF, View Basket
Broken Anti Automation 4 CAPTCHA Bypass, Extra Language, Multiple Likes, Reset Morty's Password
Broken Authentication 10 Bjoern's Favorite Pet, Change Bender's Password, GDPR Data Erasure, Login Bjoern, Login CISO, 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 10 Admin Registration, Deluxe Fraud, Expired Coupon, 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 4 Bully Chatbot, Privacy Policy, Score Board, Security Policy
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 16 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, Reset Uvogin's Password, Retrieve Blueprint, Visual Geo Stalking
Unvalidated Redirects 2 Allowlist Bypass, Outdated Allowlist
Vulnerable Components 8 Arbitrary File Write, Forged Signed JWT, Frontend Typosquatting, Kill Chatbot, Legacy Typosquatting, 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 Σ 100

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 5 Bully Chatbot, CAPTCHA Bypass, Extra Language, Password Strength, Reset Morty's Password
Code Analysis 10 Blockchain Hype, Forged Coupon, Imaginary Challenge, Kill Chatbot, Login Bjoern, Login CISO, Outdated Allowlist, SSRF, SSTi, Score Board
Contraption 9 Blockchain Hype, Cross-Site Imaging, Deprecated Interface, Easter Egg, Forgotten Developer Backup, Forgotten Sales Backup, Login Support Team, Misplaced Signature File, SSTi
Danger Zone 15 API-only XSS, Arbitrary File Write, Blocked RCE DoS, CSP Bypass, Client-side XSS Protection, HTTP-Header XSS, 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 12 Admin Section, Confidential Document, DOM XSS, Easter Egg, Forged Coupon, Forgotten Developer Backup, Login Admin, Nested Easter Egg, Privacy Policy, Privacy Policy Inspection, Reflected XSS, View Basket
OSINT 14 Bjoern's Favorite Pet, Leaked Access Logs, Leaked Unsafe Product, 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 10 Bonus Payload, DOM XSS, Forged Feedback, Login Admin, Login Bender, Login Jim, Password Strength, Privacy Policy, Score Board, View Basket

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 10 tutorial challenges have to be performed gradually in order to unlock the other 90 challenges.

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

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5


Latest Releases

GitHub release GitHub release SourceForge SourceForge Docker Pulls

  • 2020-11-05T12:29:00Z: juice-shop v12.1.1
  • 2020-10-03T14:09:30Z: juice-shop v12.1.0
  • 2020-09-14T08:47:25Z: juice-shop v12.0.2
  • 2020-09-10T06:35:49Z: juice-shop v12.0.1
  • 2020-09-09T13:53:32Z: juice-shop v12.0.0
  • 2020-08-12T17:19:03Z: juice-shop v11.1.3
  • 2020-07-15T10:58:04Z: juice-shop v11.1.2
  • 2020-06-18T20:58:16Z: juice-shop v11.1.1
  • 2020-06-14T20:59:30Z: juice-shop v11.1.0
  • 2020-06-06T12:17:38Z: juice-shop v11.0.1

CTF Extension

GitHub release npm npm Docker Pulls

  • 2020-10-11T21:21:47Z: juice-shop-ctf v8.1.2
  • 2020-08-06T10:57:31Z: juice-shop-ctf v8.1.1
  • 2020-05-03T08:25:23Z: juice-shop-ctf v8.1.0

Roadmap

GitHub issues by-label GitHub issues by-label


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 Jingle

Official OWASP Juice Shop Jingle written and performed by Brian Johnson

Endorsed Open Source Projects

Project Description
MultiJuicer Logo Multi User Juice Shop Platform to run separate Juice Shop instances for training or CTF participants on a central Kubernetes cluster
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 of 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

Wild West Hackin' Fest New Work SE

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

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

All Corporate-sponsored Code Contributions

In order to be recognized as a corporate code sponsor an offical written confirmation of waiving all IP to the contributed code is required.

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.


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.