The most trustworthy online shop out there. (@dschadow) — The best juice shop on the whole internet! (@shehackspurple)
OWASP Juice Shop is an intentionally insecure web application written entirely in JavaScript which encompasses the entire range of OWASP Top Ten and other severe security flaws.
For a detailed introduction, full list of features and architecture overview please visit the official project page: http://owasp-juice.shop
- Click the button below and follow the instructions
This is the quickest way to get a running instance of Juice Shop! If you have forked this repository, the deploy button will automatically pick up your fork for deployment! As long as you do not perform any DDoS attacks you are free to use any tools or scripts to hack your Juice Shop instance on Heroku!
- Install node.js
- Run
git clone https://github.com/bkimminich/juice-shop.git
(or clone your own fork of the repository) - Go into the cloned folder with
cd juice-shop
- Run
npm install
(only has to be done before first start or when you change the source code) - Run
npm start
- Browse to http://localhost:3000
- Install Docker
- Run
docker pull bkimminich/juice-shop
- Run
docker run --rm -p 3000:3000 bkimminich/juice-shop
- Browse to http://localhost:3000 (on macOS and Windows browse to http://192.168.99.100:3000 if you are using docker-machine instead of the native docker installation)
If you want to run Juice Shop on a Raspberry Pi 3, there is an unofficial Docker image available at https://hub.docker.com/r/arclight/juice-shop_arm which is based on
resin/rpi-raspbian
and maintained by @battletux.
- Install and launch Docker Toolbox
- Search for
juice-shop
and click Create to download image and run container - Click on the Open icon next to Web Preview to browse to OWASP Juice Shop
- Install a 64bit node.js on your Windows (or Linux) machine
- Download
juice-shop-<version>_<node-version>_<os>_x64.zip
(or.tgz
) attached to latest release - Unpack and run
npm start
in unpacked folder - Browse to http://localhost:3000
Each packaged distribution includes some binaries for SQLite bound to the OS and node.js version which
npm install
was executed on.
- Setup an Amazon Linux AMI instance
- In Step 3: Configure Instance Details unfold Advanced Details and copy the script below into User Data
- In Step 6: Configure Security Group add a Rule that opens port 80 for HTTP
- Launch instance
- Browse to your instance's public DNS
#!/bin/bash
yum update -y
yum install -y docker
service docker start
docker pull bkimminich/juice-shop
docker run -d -p 80:3000 bkimminich/juice-shop
Technically Amazon could view hacking activity on any EC2 instance as an attack on their AWS infrastructure! We highly discourage aggressive scanning or automated brute force attacks! You have been warned!
- Install Vagrant and Virtualbox
- Run
git clone https://github.com/bkimminich/juice-shop.git
(or clone your own fork of the repository) - Run
cd vagrant && vagrant up
- Browse to 192.168.33.10
To show the possible impact of XSS, assume you received and (of course) clicked this inconspicuous phishing link and login. Apart from the visual/audible effect, the attacker also installed an input logger to grab credentials! This could easily run on a 3rd party server in real life!
This feature is only available when running a Vagrant box. A recording of the effect is available on Youtube: 📺
OWASP Juice Shop officially supports the following versions of node.js in line as close as possible with the official node.js LTS schedule. Docker images and packaged distributions are offered accordingly:
node.js | Docker image | Packaged distributions |
---|---|---|
9.x | latest (current official release), snapshot (preview from develop branch) |
juice-shop-<version>_node9_windows_x64.zip , juice-shop-<version>_node9_linux_x64.tgz |
8.x | juice-shop-<version>_node8_windows_x64.zip , juice-shop-<version>_node8_linux_x64.tgz |
|
6.x | juice-shop-<version>_node6_windows_x64.zip , juice-shop-<version>_node6_linux_x64.tgz |
Feel free to have a look at the latest version of OWASP Juice Shop: http://demo.owasp-juice.shop
This is a deployment-test and sneak-peek instance only! You are not supposed to use this instance for your own hacking endeavours! No guaranteed uptime! Guaranteed stern looks if you break it!
Via a YAML configuration file in /config
, the OWASP Juice Shop can be
customized in its content and look & feel.
For detailed instructions and examples please refer to our Customization documentation.
If you want to run OWASP Juice Shop as a Capture-The-Flag event, we
recommend you set it up along with a CTFd server
conveniently using the official
juice-shop-ctf-cli
tool.
For step-by-step instructions and examples please refer to the Hosting a CTF event chapter of our companion guide ebook.
This is the official companion guide to the OWASP Juice Shop. 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 is published with GitBook under CC BY-NC-ND 4.0 and is available for free in PDF, Kindle and ePub format. You can also browse the full content online!
- Introduction Slide Deck in HTML5
- PDF of the Intro Slide Deck on Slideshare
If you need help with the application setup please check the TROUBLESHOOTING.md or post your specific problem or question in the official Gitter Chat.
We are always happy to get new contributors on board! Please check the following table for possible ways to do so:
❓ | 💡 |
---|---|
Found a bug? Crashed the app? Broken challenge? Found a vulnerability that is not on the Score Board? | Create an issue or post your ideas in the chat |
Want to help with development? Pull requests are highly welcome! | Please refer to the Contribute to development and Codebase 101 chapters of our companion guide ebook |
Want to help with internationalization? | Find out how to join our Crowdin project in the Helping with translations documentation |
Anything else you would like to contribute? | Write an email to [email protected] or [email protected] |
Did you write a blog post, magazine article or do a podcast about or mentioning OWASP Juice Shop? Or maybe you held or joined a conference talk or meetup session, a hacking workshop or public training where this project was mentioned?
Add it to our ever-growing list of REFERENCES.md by forking and opening a Pull Request!
- On Spreadshirt.com and Spreadshirt.de you can get some swag (Shirts, Hoodies, Mugs) with the official OWASP Juice Shop logo
- On StickerYou.com you can get variants of the OWASP Juice Shop logo as single stickers to decorate your laptop with. They can also print magnets, iron-ons, sticker sheets and temporary tattoos.
The most honorable way to get some stickers is to contribute to the project by fixing an issue, finding a serious bug or submitting a good idea for a new challenge!
We're also happy to supply you with stickers if you organize a meetup or conference talk where you use or talk about or hack the OWASP Juice Shop! Just contact the mailing list or the project leader to discuss your plans! !
PayPal donations via above button go to the OWASP Foundations and are earmarked for "Juice Shop". This is the preferred and most convenient way to support the project.
OWASP hosts a donation form on RegOnline. Refer to the Credit card donation step-by-step guide for help with filling out the donation form correctly.
- Björn Kimminich aka
bkimminich
(Project Leader) - Jannik Hollenbach aka
J12934
- Timo Pagel aka
wurstbrot
Based on GitHub commits.
Ordered by added lines of code as of Sun, 12 Jan 2018 on master
.
- Viktor Lindström aka
ViktorLindstrm
- Josh Grossman aka
tghosth
- Manabu Niseki aka
ninoseki
- Gorka Vicente aka
gorkavicente
- Alvaro Viebrantz aka
alvarowolfx
- Omer Levi Hevroni aka
omerlh
- m4l1c3 aka
m4l1c3
- Johanna A aka
yuhama
- Aaron Edwards aka
aaron-m-edwards
- Stephen OBrien aka
stephenobrien
- Jln Wntr aka
JlnWntr
- Greg Guthe aka
g-k
- Abhishek bundela aka
abhishekbundela
- Achim Grimm aka
achimgrimm
- battletux aka
battletux
- Ingo Bente aka
ingben
- Simon De Lang aka
simondel
- AviD aka
avidouglen
- Yuvraj aka
evalsocket
- Stuart Winter-Tear aka
StuartWinterTear
- Christian Kühn aka
cy4n
- Dinis Cruz aka
DinisCruz
- Joe Butler aka
incognitjoe
Based on CrowdIn
translations and commits to app/i18n
. Grouped by language as of Mon,
07 Jan 2018 on master
.
- 🇨🇳 Coink, rToxic
- 🇨🇿 Martin Hartl, stejkenzie
- 🇩🇰 Allan Kimmer Jensen, owangen
- 🇪🇪 bmoritz
- 🇫🇷 Kylian Runembert, vientspam
- 🇩🇪 Björn Kimminich
- 🇭🇺 OliverkeHU
- 🇮🇩 adeyosemanputra, bahrunghozali, kahfiehudson, Mohammad Febri Ramadlan, Rick Daalhuizen, Syahrol
- 🇮🇱 AviD, Omer Levi Hevroni
- 🇮🇹 vientspam
- 🇯🇵 ninoseki
- 🇲🇲 thinbashane
- 🇳🇱 Bart Decker, Daan Sprenkels, Manu B, rachidbm, vientspam, Wout Huygens, Rick Daalhuizen
- 🇳🇴 owangen
- 🇵🇱 Idomin Ninja, Andrew Pio
- 🇵🇹 Alvaro Viebrantz
- 🇷🇴 Mircea Ulmeanu, orjen, timexlord
- 🇷🇺 fieldhill13
- 🇪🇸 alopezhu, CarlCampbell, Carlos Allendes, Ezequiel Andino, mateomartinez, soledad aro, Gorka Vicente
- 🇸🇪 Anders Lindberg, atteism, cello-anders, Klas Fahlberg, landinl, Mattias Persson, Pär Swedberg
- 🇹🇷 Ender Çulha
- Inspired by the "classic" BodgeIt Store by @psiinon
- Revised OWASP Juice Shop and Juice Shop CTF logo artworks by Emily Gundry (courtesy of @SecureState)
- Pwning OWASP Juice Shop cover artwork by Patch Kroll
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.