A React-based web application inspired by the OWASP Juice Shop, featuring a set of interactive challenges to explore and learn about common web application vulnerabilities. This project is ideal for practicing secure coding techniques and understanding real-world security issues in a safe, controlled environment.
This project is a React-based clone of the OWASP Juice Shop, designed as a learning platform to practice web application security concepts. It features unique cyber security challenges that simulate real-world vulnerabilities, allowing users to explore and mitigate common security issues in a controlled environment.
Before setting up the project, ensure the following tools and software are installed on your system:
-
Node.js (v16 or later)
- Download and install from the Node.js official site.
- Verify installation:
node -v npm -v
-
Git
- Download and install from the Git official site.
- Verify installation:
git --version
-
MongoDB
- Ensure you have MongoDB installed and running on your local machine or use a cloud-based service like MongoDB Atlas.
- Verify installation (for local setup):
mongo --version
-
Code Editor (Optional but recommended)
- Use an editor like Visual Studio Code.
-
Browser
- A modern web browser like Chrome, Firefox, or Edge for testing.
If your project involves a database or API, make sure the relevant services or tools (e.g., Docker, Postman) are also installed.
Download the project code to your local machine using Git:
git clone https://github.com/Aswath20000/Juice-shop
cd Juice-shop/owasp-juice-shop
Install the required packages using npm:
npm install
npm install crypto-js
cd backend
npm i
First, Run the development server with the following command:
cd backend
node server.js
Then for frontend
npm start
The application will be accessible at http://localhost:3000
in your browser.
- Challenges Setup: Modify challenge configurations located in the
src/challenges/
directory as needed. - Database/API: If the project uses a backend or database, ensure those services are up and running before starting the app.
You are now ready to explore and use the application!
The application is designed with a user-friendly interface that provides intuitive navigation and interactive features. Here's a breakdown of the main UI components:
The main landing page where users can browse and buy items, serving as the primary interaction hub.
A simulated shopping cart where users can interact with purchased items.
Tracks and displays the user's overall score and ranking among other participants.
This project serves as an engaging platform to learn and practice web application security through a React-based clone of the OWASP Juice Shop. By simulating real-world vulnerabilities and providing interactive challenges, it offers users a hands-on approach to understanding and mitigating common security issues. With its flexible design and customizable features, this project is not only a valuable educational tool but also a foundation for extending and exploring advanced security concepts.
-
OWASP Juice Shop
The official OWASP Juice Shop, which this project is based on. A vulnerable web application designed for security testing and learning. -
React Documentation
The official React documentation, used as a reference for building the frontend of this project. -
Node.js Documentation
Documentation for Node.js, which is used as the runtime environment for this application.
These resources provided the foundation for creating this web application and implementing security challenges for users to explore.