Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
juice-shop-ctf-cli
Advanced tools
Capture-the-Flag (CTF) environment setup tools for OWASP Juice Shop
The Node package
juice-shop-ctf-cli
helps you to prepare
Capture the Flag
events with the OWASP Juice Shop challenges
for different popular CTF frameworks. This interactive utility allows
you to populate a CTF game server in a matter of minutes.
The following open source CTF frameworks are supported by
juice-shop-ctf-cli
:
npm install -g juice-shop-ctf-cli
Open a command line and run:
juice-shop-ctf
Then follow the instructions of the interactive command line tool.
Instead of answering questions in the CLI you can also provide your desired configuration in a file with the following format:
ctfFramework: CTFd | FBCTF | RootTheBox
juiceShopUrl: https://juice-shop.herokuapp.com
ctfKey: https://raw.githubusercontent.com/bkimminich/juice-shop/master/ctf.key # can also be actual key or comma-separated list of keys (CTFd only) instead of URL
countryMapping: https://raw.githubusercontent.com/bkimminich/juice-shop/master/config/fbctf.yml # ignored for CTFd and RootTheBox
insertHints: none | free | paid # "paid" handled as "free" for CTFd
insertHintUrls: none | free | paid # optional for FBCTF; "paid" handled as "free" for CTFd
insertHintSnippets: none | free | paid # optional for FBCTF; "paid" handled as "free" for CTFd
You can then run the generator with:
juice-shop-ctf --config myconfig.yml
Optionally you can also choose the name of the output file:
juice-shop-ctf --config myconfig.yml --output challenges.out
You can ignore certificate warnings like this:
juice-shop-ctf --ignoreSslWarnings
Share your current directory with the /data
volume of your
bkimminich/juice-shop-ctf
Docker container and run the interactive
mode with:
docker run -ti --rm -v $(pwd):/data bkimminich/juice-shop-ctf
Alternatively you can provide a configuration file via:
docker run -ti --rm -v $(pwd):/data bkimminich/juice-shop-ctf --config myconfig.yml
Choosing the name of the output file is also possible:
docker run -ti --rm -v $(pwd):/data bkimminich/juice-shop-ctf --config myconfig.yml --output challenges.out
On Windows cmd.exe
you have to use %cd%
instead of $(pwd)
to mount your current working directory.
For detailed step-by-step instructions and examples please refer to the Hosting a CTF event chapter in our (free) companion guide ebook.
If you need help with the application setup please check the Troubleshooting section below or post your specific problem or question in the official Gitter Chat.
127.0.0.1:XXXX
to
0.0.0.0:XXXX
for TCP in the default
VM's network adapter in
VirtualBox. For CTFd you need to forward port 8000
.Found a bug? Got an idea for enhancement? Improvement for cheating prevention?
Feel free to create an issue or post your ideas in the chat! Pull requests are also highly welcome - please refer to CONTRIBUTING.md for details.
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 CTF Extension 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 CTF Extension and any contributions are Copyright © by Bjoern Kimminich & the OWASP Juice Shop contributors 2016-2024.
FAQs
Capture-the-Flag (CTF) environment setup tools for OWASP Juice Shop
The npm package juice-shop-ctf-cli receives a total of 88 weekly downloads. As such, juice-shop-ctf-cli popularity was classified as not popular.
We found that juice-shop-ctf-cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.