OWASP Juice Shop Project

From OWASP
Jump to: navigation, search
Flagship big.jpg

OWASP Juice Shop Tool Project

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)

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!

Description

JuiceShop Logo.png

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!

Main Selling Points

  • Free and Open source: Licensed under the MIT license with no hidden costs or caveats
  • Easy-to-install: Choose between node.js, Docker and Vagrant to run on Windows/Mac/Linux
  • Self-contained: Additional dependencies are pre-packaged or will be resolved and downloaded automatically
  • Self-healing: The simple SQLite and MarsDB databases are wiped and repopulated from scratch on every server startup
  • Gamification: The application notifies you on solved challenges and keeps track of successfully exploited vulnerabilities on a Score Board
  • Re-branding: Fully customizable in business context and look & feel to your own corporate or customer requirements
  • CTF-support: Challenge notifications optionally contain a flag code for your own Capture-The-Flag events

Application Architecture

Architektur JuiceShop.png

Introduction Video

This recording from OWASP BeNeLux-Days 2018 gives a complete introduction to the OWASP Juice Shop including a live demonstration of the application and how to hack it.

Spoiler warning: The video contains some live hacking including mild spoilers for a few of the easiest challenges!

Official Companion Guide

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. The ebook is published under CC BY-NC-ND 4.0 and is available for free as work-in-progress in HTML, PDF, Kindle and ePub format on GitBook. The latest officially released edition is available for free on LeanPub in PDF, Kindle and ePub format.

PwningOWASPJuiceShop Cover.jpg

Licensing

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-2019.

News

[06.12.18] juice-shop v8.2.0

[30.11.18] juice-shop-ctf v5.0.1

[30.11.18] juice-shop v8.1.1

[27.11.18] juice-shop v8.1.0

[15.11.18] juice-shop v8.0.2

[14.11.18] juice-shop v8.0.1

Installation

Packaged Distributions

Docker Image

Online Demo (Heroku)

Source Code

GitHub Project

Revision History

Crowdin I18N

CTF-Extension

Documentation

Introduction (Slide Deck)

Documentation (Readme)

Companion Guide (LeanPub)

Companion Guide (HTML)

Support

Community Chat

Issue Tracker

Collaboration

Slack Channel

Mailing List

Social Media

Twitter (@owasp_juiceshop)

Facebook-Page

YouTube Playlist

Merchandise

Stickers, Magnets etc.

Apparel (US/EU)

Project Leader

Bjoern Kimminich @

Related Projects

OWASP WebGoat Project

OWASP DevSlop Project

Miscellaneous

OpenHub Project

Classifications

Project Type Files TOOL.jpg
Flagship Project Owasp-builders-small.png
Owasp-breakers-small.png
Owasp-defenders-small.png

Contributors

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

Project Sponsors

Corporate Sponsors

www.xing.com www.esailors.de
www.iteratec.de www.denimgroup.com

Individual Sponsors

Jeroen Willemsen Soron Foster
Bendik Mjaaland Timo Pagel
Benjamin Pfänder Björn Kimminich

LeanPub Royalties

PwningOWASPJuiceShop Cover.jpg

All royalties of Björn Kimminich's eBook are donated to the project!

Juice Shop is already implemented, properly tested and has been promoted and demonstrated or live-hacked on various occasions including OWASP events. It has been successfully used by different companies for inhouse security trainings as well as in university lectures or published training slides.

Roadmap

Long-term Goals

  • Release 8.x with Angular6 and ChallengePack from GSoC 2018
    • Even more responsive UI based on Material Design
    • 10+ new challenges (incl. Timing Attack, Arbitrary File Write)
  • Get help from a UI/UX expert for our design/layout tasks
  • Hacking Instructor to guide beginners through the challenges

Architektur JuiceShop 8.0.png

Getting Involved

Involvement in the development and promotion of OWASP Juice Shop is actively encouraged! You do not have to be a security expert or a programmer to contribute. Some of the ways you can help are as follows:

  • use Juice Shop in your own hacker or awareness trainings
  • use Juice Shop as a "guinea pig" for your security tools
  • provide ideas for new vulnerabilities and challenges
  • provide feedback via email, chat or by opening an issue
  • help translating the user interface on Crowdin