This repository contains a collection of 42 Node.js web application challenges designed for practicing and testing web security knowledge. Each challenge is containerized with Docker for easy deployment.
The challenges cover a variety of common web vulnerabilities:
- SQL Injection (SQLi)
- Cross-Site Scripting (XSS)
- Command Injection
- Local File Inclusion (LFI)
- Directory Traversal
- JWT and Session Exploits
- ...and more
Each challenge is in its own directory, named after the challenge ID or title (e.g., sqli_login_bypass_st). Inside each directory:
Dockerfile: Defines the containerized challenge.index.jsorserver.js: The Node.js app source.- Additional static files or assets as needed.
Use the provided scripts to build and run the challenges locally:
# Build all images
chmod +x build_challenges.sh
./build_challenges.sh
# Run all containers on ports 40001–40042
chmod +x run_challenges.sh
./run-containers.sh