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)
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!
For a detailed introduction, full list of features and architecture overview please visit the official project page: https://owasp-juice.shop
You can find some less common installation variations in the Running OWASP Juice Shop documentation.
git clone https://github.com/juice-shop/juice-shop.git --depth 1
(or
clone your own fork
of the repository)cd juice-shop
npm install
(only has to be done before first start or when you change the source code)npm start
juice-shop-<version>_<node-version>_<os>_x64.zip
(or
.tgz
) attached to
latest releasecd
into the unpacked foldernpm start
Each packaged distribution includes some binaries for
sqlite3
andlibxmljs
bound to the OS and node.js version whichnpm install
was executed on.
[](https://microbadger.com/images/bkimminich/juice-shop "Get your own image badge on microbadger.com") [](https://microbadger.com/images/bkimminich/juice-shop "Get your own version badge on microbadger.com")
docker pull bkimminich/juice-shop
docker run --rm -p 3000:3000 bkimminich/juice-shop
git clone https://github.com/juice-shop/juice-shop.git
(or
clone your own fork
of the repository)cd vagrant && vagrant up
#!/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
az login
) to your
Azure CLI or login to the Azure Portal,
open the CloudShell
and then choose Bash (not PowerShell).az group create --name <group name> --location <location name, e.g. "centralus">
az container create --resource-group <group name> --name <container name> --image bkimminich/juice-shop --dns-name-label <dns name label> --ports 3000 --ip-address public
http://<dns name label>.<location name>.azurecontainer.io:3000
EXTERNAL_IP
provided in the output.gcloud compute instances create-with-container owasp-juice-shop-app --container-image bkimminich/juice-shop
gcloud compute firewall-rules create juice-rule --allow tcp:3000
http://<EXTERNAL_IP>:3000/
If you have forked the Juice Shop repository on GitHub, the Deploy to Heroku button will deploy your forked version of the application.
Login to gitpod.io and use https://gitpod.io/#https://github.com/juice-shop/juice-shop/ to start a new workspace. If you want to spin up a forked repository, your URL needs to be adjusted accordingly.
After the Gitpod workspace is loaded, Gitpod tasks is still running to install npm install
and launch the website. Despite Gitpod showing your workspace state already as Running, you need to wait until the installation process is done, before the website becomes accessable. The Open Preview Window (Internal Browser), will open automatically and refresh itself automatically when the server has started.
Your Juice Shop instance is now also available at https://3000-<GITPOD_WORKSPACE_ID>.<GITPOD_HOSTING_ZONE>.gitpod.io
.
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!
OWASP Juice Shop officially supports the following versions of node.js in line with the official node.js LTS schedule as close as possible. Docker images and packaged distributions are offered accordingly.
node.js | Supported | Tested | Packaged Distributions | Docker images from master |
Docker images from develop |
---|---|---|---|---|---|
21.x | :x: | :x: | |||
20.x | :heavy_check_mark: | :heavy_check_mark: | Windows (x64 ), MacOS (x64 ), Linux (x64 ) |
||
19.x | (:heavy_check_mark:) | :x: | |||
18.x | :heavy_check_mark: | :heavy_check_mark: | Windows (x64 ), MacOS (x64 ), Linux (x64 ) |
latest (linux/amd64 , linux/arm64 ) |
snapshot (linux/amd64 , linux/arm64 ) |
17.x | (:heavy_check_mark:) | :x: | |||
16.x | :heavy_check_mark: | :heavy_check_mark: | Windows (x64 ), MacOS (x64 ), Linux (x64 ) |
||
<16.x | :x: | :x: |
Juice Shop is automatically tested only on the latest .x
minor version of each node.js version mentioned above!
There is no guarantee that older minor node.js releases will always work with Juice Shop!
Please make sure you stay up to date with your chosen version.
If you need help with the application setup please check our our existing Troubleshooting guide. If this does not solve your issue please post your specific problem or question in the Gitter Chat where community members can best try to help you.
:stop_sign: Please avoid opening GitHub issues for support requests or questions!
OWASP Juice Shop comes with an official companion guide eBook. It will give you a complete overview of all 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. Extensive documentation of custom re-branding, CTF-support, trainer's guide and much more is also included.
Pwning OWASP Juice Shop is published under CC BY-NC-ND 4.0 and is available for free in PDF, Kindle and ePub format on LeanPub. You can also browse the full content online!
We are always happy to get new contributors on board! Please check CONTRIBUTING.md to learn how to contribute to our codebase or the translation into different languages!
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!
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!
The OWASP Foundation gratefully accepts donations via Stripe. Projects such as Juice Shop can then request reimbursement for expenses from the Foundation. If you'd like to express your support of the Juice Shop project, please make sure to tick the "Publicly list me as a supporter of OWASP Juice Shop" checkbox on the donation form. You can find our more about donations and how they are used here:
https://pwning.owasp-juice.shop/part3/donations.html
The OWASP Juice Shop core project team are:
bkimminich
(Project Leader)
J12934
wurstbrot
ShubhamPalriwala
For a list of all contributors to the OWASP Juice Shop please visit our HALL_OF_FAME.md.
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 & the OWASP Juice Shop contributors 2014-2023.