Difference between revisions of "OWASP Juice Shop Project"

From OWASP
Jump to: navigation, search
(Related Projects)
(31 intermediate revisions by the same user not shown)
Line 11: Line 11:
 
— ''The best juice shop on the whole internet!'' ([https://twitter.com/shehackspurple/status/907335357775085568 shehackspurple])
 
— ''The best juice shop on the whole internet!'' ([https://twitter.com/shehackspurple/status/907335357775085568 shehackspurple])
 
— ''Actually the most bug-free vulnerable application in existence!'' ([https://youtu.be/TXAztSpYpvE?t=26m35s vanderaj])
 
— ''Actually the most bug-free vulnerable application in existence!'' ([https://youtu.be/TXAztSpYpvE?t=26m35s vanderaj])
 +
— ''First you'' 😂😂''then you'' 😢 ([https://twitter.com/kramse/status/1073168529405472768 kramse])
  
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.
+
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==
 
==Description==
Line 31: Line 32:
 
* [https://github.com/bkimminich/juice-shop#setup Easy-to-install]: Choose between [http://nodejs.org node.js], [https://www.docker.com Docker] and [https://www.vagrantup.com/downloads.html Vagrant] to run on Windows/Mac/Linux
 
* [https://github.com/bkimminich/juice-shop#setup Easy-to-install]: Choose between [http://nodejs.org node.js], [https://www.docker.com Docker] and [https://www.vagrantup.com/downloads.html Vagrant] to run on Windows/Mac/Linux
 
* Self-contained: Additional dependencies are pre-packaged or will be resolved and downloaded automatically
 
* 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
+
* 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
 
* Gamification: The application notifies you on solved challenges and keeps track of successfully exploited vulnerabilities on a Score Board
* Re-branding: Fully customizable business context and look & feel
+
* Re-branding: Fully customizable in business context and look & feel to your own corporate or customer requirements
* CTF-support: Challenge notifications contain a customizable flag code for your own [https://github.com/bkimminich/juice-shop-ctf Capture-The-Flag events]
+
* CTF-support: Challenge notifications optionally contain a flag code for your own [https://github.com/bkimminich/juice-shop-ctf Capture-The-Flag events]
  
 
== Application Architecture ==
 
== Application Architecture ==
Line 42: Line 43:
 
== Introduction Video ==
 
== Introduction Video ==
  
This recording from a public lecture on 24.10.2018 at the TalTech Infotehnoloogia Kolledž in Tallinn gives an introduction to the OWASP Juice Shop and a live demonstration of the application and how to hack it.
+
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.
  
{{#ev:youtube|79G46CQ3IMk|start=158}}
+
{{#ev:youtube|Lu0-kDdtVf4}}
  
''Spoiler warning: The video contains some live hacking including solutions to a few of the challenges!''
+
''Spoiler warning: The video contains some live hacking including mild spoilers for a few of the easiest challenges!''
  
 
== Official Companion Guide ==
 
== Official Companion Guide ==
Line 67: Line 68:
 
== News ==
 
== News ==
  
[30.11.18] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.1.1 v8.1.1]
+
[06.05.19] juice-shop-ctf [https://github.com/bkimminich/juice-shop-ctf/releases/tag/v6.1.0 v6.1.0]
  
[27.11.18] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.1.0 v8.1.0]
+
[16.04.19] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.5.1 v8.5.1]
  
[15.11.18] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.0.2 v8.0.2]
+
[16.04.19] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.5.0 v8.5.0]
  
[14.11.18] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.0.1 v8.0.1]
+
[29.03.19] juice-shop-ctf [https://github.com/bkimminich/juice-shop-ctf/releases/tag/v6.0.1 v6.0.1]
  
[10.11.18] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.0.0 v8.0.0]
+
[11.03.19] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.4.1 v8.4.1]
  
[24.09.18] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v7.5.1 v7.5.1]
+
[07.03.19] juice-shop [https://github.com/bkimminich/juice-shop/releases/tag/v8.4.0 v8.4.0]
  
 
== Installation ==
 
== Installation ==
Line 99: Line 100:
 
== Documentation ==
 
== Documentation ==
  
[http://bkimminich.github.io/juice-shop Introduction (Slide Deck)]
+
Introduction Slide Deck ([http://bkimminich.github.io/juice-shop HTML5]/[https://github.com/bkimminich/juice-shop/raw/master/docs/OWASP%20Juice%20Shop%20-%20An%20intentionally%20insecure%20JavaScript%20Web%20Application.pdf PDF])
  
[https://github.com/bkimminich/juice-shop/blob/master/README.md Documentation (Readme)]
+
Companion Guide ([https://leanpub.com/juice-shop LeanPub]/[https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/content GitBook])
 
 
[https://leanpub.com/juice-shop Companion Guide (LeanPub)]
 
 
 
[https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/content Companion Guide (HTML)]
 
  
 
== Support ==
 
== Support ==
  
 
[https://gitter.im/bkimminich/juice-shop Community Chat]
 
[https://gitter.im/bkimminich/juice-shop Community Chat]
 +
 +
[https://www.reddit.com/r/owasp_juiceshop Official Subreddit]
  
 
[https://github.com/bkimminich/juice-shop/issues Issue Tracker]
 
[https://github.com/bkimminich/juice-shop/issues Issue Tracker]
Line 117: Line 116:
 
[https://owasp.slack.com/messages/project-juiceshop Slack Channel]
 
[https://owasp.slack.com/messages/project-juiceshop Slack Channel]
  
[https://lists.owasp.org/mailman/listinfo/owasp_juice_shop_project Mailing List]
+
[https://groups.google.com/a/owasp.org/forum/#!forum/juice-shop-project Mailing List]
  
 
== Social Media ==
 
== Social Media ==
Line 141: Line 140:
  
 
[[OWASP DevSlop Project|OWASP DevSlop Project]]
 
[[OWASP DevSlop Project|OWASP DevSlop Project]]
 +
 +
[[OWASP SamuraiWTF Project|OWASP SamuraiWTF Project]]
  
 
==Miscellaneous==
 
==Miscellaneous==
Line 169: Line 170:
 
== Project Sponsors ==
 
== Project Sponsors ==
  
=== Corporate Sponsors ===
+
=== Top Sponsors ===
  
 
{|
 
{|
Line 179: Line 180:
 
|}
 
|}
  
=== Individual Sponsors ===
+
=== Other Corporate Sponsors ===
 +
 
 +
{|
 +
|style="text-align:center; padding-left: 0px;"|[https://plextrac.com PlexTrac]
 +
|style="text-align:center; padding-left: 50px;"|[https://silpion.de Silpion]
 +
|}
 +
 
 +
=== [https://www.patreon.com/join/bkimminich Patrons] ===
 +
 
 +
{|
 +
|style="text-align:center; padding-left: 0px;"| [http://www.7minsec.com Brian Johnson] (''Carrot Juice'' Level)
 +
|style="text-align:center; padding-left: 50px;"|
 +
|}
 +
 
 +
=== Other Individual Sponsors ===
  
 
{|
 
{|
Line 190: Line 205:
 
|style="text-align:center; padding-left: 0px;"|Benjamin Pfänder
 
|style="text-align:center; padding-left: 0px;"|Benjamin Pfänder
 
|style="text-align:center; padding-left: 50px;"|[https://twitter.com/bkimminich Björn Kimminich]  
 
|style="text-align:center; padding-left: 50px;"|[https://twitter.com/bkimminich Björn Kimminich]  
 +
|-
 +
|style="text-align:center; padding-left: 0px;"|[https://twitter.com/kchungco Kevin Chung]
 +
|style="text-align:center; padding-left: 50px;"|
 
|}
 
|}
  
Line 197: Line 215:
  
 
All royalties of [https://twitter.com/bkimminich Björn Kimminich]'s eBook are donated to the project!
 
All royalties of [https://twitter.com/bkimminich Björn Kimminich]'s eBook are donated to the project!
 +
 +
----
 +
 +
You can find the current project balance along with a history of all donations and spendings in the [https://docs.google.com/spreadsheets/d/1rjGL50kp7kciYq3zyYCyKt5_lfLUCezRCkNRlirpC84/edit#gid=1584336283&range=C315 Chapter and Project Transactions] spreadsheet.
  
 
= Road Map and Getting Involved =
 
= Road Map and Getting Involved =
Line 206: Line 228:
 
===Long-term Goals===
 
===Long-term Goals===
  
* Release 8.x with Angular6 and ChallengePack from GSoC 2018
+
* [https://github.com/bkimminich/juice-shop/labels/design%2Flayout Design/Facelifting] of the Angular Material UI
** 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 [https://github.com/bkimminich/juice-shop/labels/design%2Flayout design/layout] tasks
 
 
* [https://github.com/bkimminich/juice-shop/issues/440 Hacking Instructor] to guide beginners through the challenges
 
* [https://github.com/bkimminich/juice-shop/issues/440 Hacking Instructor] to guide beginners through the challenges
  

Revision as of 14:09, 9 May 2019

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.05.19] juice-shop-ctf v6.1.0

[16.04.19] juice-shop v8.5.1

[16.04.19] juice-shop v8.5.0

[29.03.19] juice-shop-ctf v6.0.1

[11.03.19] juice-shop v8.4.1

[07.03.19] juice-shop v8.4.0

Installation

Packaged Distributions

Docker Image

Online Demo (Heroku)

Source Code

GitHub Project

Revision History

Crowdin I18N

CTF-Extension

Documentation

Introduction Slide Deck (HTML5/PDF)

Companion Guide (LeanPub/GitBook)

Support

Community Chat

Official Subreddit

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

OWASP SamuraiWTF 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

Top Sponsors

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

Other Corporate Sponsors

PlexTrac Silpion

Patrons

Brian Johnson (Carrot Juice Level)

Other Individual Sponsors

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

LeanPub Royalties

PwningOWASPJuiceShop Cover.jpg

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


You can find the current project balance along with a history of all donations and spendings in the Chapter and Project Transactions spreadsheet.

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

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