This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

OWASP Juice Shop Project

From OWASP
Revision as of 14:23, 17 July 2018 by Bjoern Kimminich (talk | contribs) (Corporate Sponsors)

Jump to: navigation, search
Lab 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)

OWASP Juice Shop is an intentionally insecure webapp for security trainings written entirely in JavaScript which encompasses the entire OWASP Top Ten and other severe security flaws.

Description

JuiceShop Logo.png

Juice Shop is written in Node.js, Express and AngularJS. 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

  • 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 database is wiped and regenerated 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
  • CTF-support: Challenge notifications contain a customizable flag code for your own Capture-The-Flag events
  • Re-branding: Fully customizable business context and look & feel
  • Free and Open source: Licensed under the MIT license with no hidden costs or caveats

Application Architecture

Architektur JuiceShop.png

Introduction Video

This recording from the OWASP Netherlands Chapter Meeting, 22nd September 2016 gives an introduction to the OWASP Juice Shop and a live demonstration of the application and how to hack it.

Spoiler warning: The last 10 minutes of the video show some live hacking including solutions to a few of the 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-2018.

News

[12.07.18] juice-shop v7.4.0

[15.06.18] juice-shop v7.3.0

[15.06.18] juice-shop-ctf v5.0.0

[07.06.18] juice-shop v7.2.3

[05.06.18] juice-shop v7.2.2

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
Lab 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

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

  • migrate to Angular 5 or higher (#165) or even to another JavaScript frontend framework
  • evaluate adding other CTF-frameworks (e.g. FBCTF, #15) to choose from within juice-shop-ctf-cli
  • participate with at least 1 student in Google Summer of Code 2018

Project Maturity Goals

Mature projects.png
  • Have a Core Team of 3+ developers
  • Have Juice Shop promoted to Flagship Project at some point in its lifecycle

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