HomeBlogAboutPricingContact🌐 δΈ­ζ–‡
← Back to HomeOWASP
OWASP Juice Shop Tutorial: Complete Guide to Free Web Security Vulnerability Practice

OWASP Juice Shop Tutorial: Complete Guide to Free Web Security Vulnerability Practice

πŸ“‘ Table of Contents

OWASP Juice Shop Tutorial: Complete Guide to Free Web Security Vulnerability PracticeOWASP Juice Shop Tutorial: Complete Guide to Free Web Security Vulnerability Practice

TL;DR

πŸ’‘ Key Takeaway: - OWASP Juice Shop is a free web security practice platform



What is OWASP Juice Shop?

OWASP Juice Shop is the world's most popular web security practice platform. It's an intentionally vulnerable online juice store website.

Juice Shop features:

Unlike CTF (Capture The Flag) competitions, Juice Shop focuses more on learning. Each vulnerability corresponds to real-world security issues.

To learn about the OWASP organization and other security projects, refer to the OWASP Complete Guide.

What Vulnerability Types Are Included?

Juice Shop covers vulnerability types that fully correspond to OWASP Top 10:

Vulnerability TypeChallenge CountDifficulty Range
Injection15+1-6 stars
Broken Authentication10+1-5 stars
Sensitive Data Exposure12+1-4 stars
XSS (Cross-Site Scripting)8+1-4 stars
Broken Access Control15+1-5 stars
Security Misconfiguration8+1-3 stars
Cryptographic Failures6+2-5 stars
Others (SSRF, XXE, Deserialization, etc.)20+2-6 stars

Difficulty Rating Explanation

Juice Shop uses a 1-6 star rating system:

StarsDifficultySuitable ForRequired Skills
⭐Very EasyComplete beginnersJust know how to use a browser
⭐⭐EasyBeginnersBasic web knowledge
⭐⭐⭐MediumThose with basicsUnderstand HTTP, can use dev tools
⭐⭐⭐⭐HardAdvancedFamiliar with attack techniques
⭐⭐⭐⭐⭐Very HardExpertsRequires creativity and deep technical skills
⭐⭐⭐⭐⭐⭐Extremely HardMastersRequires combining multiple techniques

Recommended to start from 1 star and progress gradually.



Environment Setup

There are multiple ways to run Juice Shop. Choose the method that suits you best.

The simplest method. Just need Docker.

# Pull the image
docker pull bkimminich/juice-shop

# Run
docker run -d -p 3000:3000 bkimminich/juice-shop

# Open browser
# http://localhost:3000

Done! Start practicing in minutes.

Docker Compose Version (easier management):

# docker-compose.yml
version: '3'
services:
  juice-shop:
    image: bkimminich/juice-shop
    ports:
      - "3000:3000"
    restart: unless-stopped
docker-compose up -d

Method 2: Node.js Installation

If you want to see source code or modify settings, use this method.

System Requirements:

# Download source code
git clone https://github.com/juice-shop/juice-shop.git
cd juice-shop

# Install dependencies
npm install

# Start
npm start

# Open http://localhost:3000

Method 3: Cloud Deployment

For practicing anytime, anywhere, deploy to the cloud.

Heroku Deployment:

# Requires Heroku CLI
heroku login
heroku create my-juice-shop
git push heroku main

Other Options:

Note: Don't deploy Juice Shop publicly accessible without protection. It's intentionally designed to be vulnerable.



Challenge Walkthrough

Here are representative challenges and solution approaches for each difficulty level.

Important Reminder: Looking at solutions directly loses the learning effect. Try yourself first, then refer to hints when stuck.

1-2 Star Challenges: Getting Started

These challenges help you familiarize with the environment and basic techniques.

Challenge: Score Board (Find the Scoreboard)

Difficulty: ⭐

Goal: Find the hidden scoreboard page

Hints:

Solution Approach:

  1. Open browser developer tools (F12)
  2. Check JavaScript files
  3. Search for "score" related routes
  4. Or just guess /score-board

Challenge: DOM XSS

Difficulty: ⭐

Goal: Execute a DOM-based XSS attack

Hints:

Solution Approach:

  1. Enter in search bar: <iframe src="javascript:alert('xss')">
  2. Observe page reaction

Challenge: Confidential Document

Difficulty: ⭐

Goal: Find confidential documents

Hints:

Solution Approach:

  1. Browse website, find "About Us" and similar pages
  2. Check for links pointing to documents
  3. Try accessing /ftp directory
  4. Download confidential documents

3-4 Star Challenges: Advanced

Requires more technical knowledge and creativity.

Challenge: Login Admin

Difficulty: ⭐⭐

Goal: Login as administrator

Hints:

Solution Approach:

  1. In login page email field, enter: ' OR 1=1--
  2. Enter anything for password
  3. Click login

This is classic SQL Injection. The query becomes:

SELECT * FROM Users WHERE email='' OR 1=1--' AND password='xxx'

OR 1=1 is always true, -- comments out the password check.

Challenge: Forged Feedback

Difficulty: ⭐⭐⭐

Goal: Submit feedback as another user

Hints:

Solution Approach:

  1. Open feedback page
  2. Use developer tools to find userId hidden field
  3. Change to another user's ID
  4. Submit form

This demonstrates the importance of "don't trust the client."

Challenge: Basket Access

Difficulty: ⭐⭐⭐

Goal: View other users' shopping cart contents

Hints:

Solution Approach:

  1. Login to your account, go to shopping cart
  2. Observe API requests, find /rest/basket/X
  3. Change X to other numbers (like 1, 2)
  4. Check response

This is BOLA (Broken Object Level Authorization), ranked #1 in OWASP API Top 10.

5-6 Star Challenges: Expert Level

Requires deep technical knowledge and creative thinking.

Challenge: NoSQL Injection

Difficulty: ⭐⭐⭐⭐

Goal: Exploit NoSQL Injection vulnerability

Hints:

Solution Approach: Requires understanding MongoDB query syntax, using operators like $ne, $gt for injection.

Challenge: Forged Signed JWT

Difficulty: ⭐⭐⭐⭐⭐

Goal: Forge a valid JWT Token

Hints:

Solution Approach:

  1. Get existing JWT Token
  2. Decode to view structure
  3. Research common JWT attacks (like alg: none)
  4. Attempt to forge Token

Challenge: RCE (Remote Code Execution)

Difficulty: ⭐⭐⭐⭐⭐⭐

Goal: Execute arbitrary code on the server

Hints:

Solution Approach: Requires combining multiple vulnerabilities to find places where code can be injected and executed. These challenges require deep expertise.



Learning Path Recommendations

Choose an appropriate learning path based on your background.

Beginner Path (Zero Foundation)

Goal: Build basic concepts, complete 1-2 star challenges

Learning Steps:

  1. First learn basic web knowledge (HTML, HTTP, Cookie)
  2. Learn to use browser developer tools
  3. Complete all 1 star challenges
  4. Read explanations for each vulnerability
  5. Challenge 2 star problems

Estimated Time: 2-4 weeks

Recommended Resources:

Advanced Path (Has Development Experience)

Goal: Understand common vulnerability principles, complete 3-4 star challenges

Learning Steps:

  1. Quickly complete 1-2 star warmup
  2. Learn to use Burp Suite or OWASP ZAP
  3. Systematically learn each vulnerability type
  4. Complete 3-4 star challenges
  5. Study principles behind challenges

Estimated Time: 4-8 weeks

Recommended Resources:

Expert Path (Security Professional)

Goal: Master various attack techniques, complete 5-6 star challenges

Learning Steps:

  1. Quickly clear 1-4 stars
  2. Deep dive into high-difficulty vulnerabilities
  3. Try solving without hints
  4. Study source code to understand vulnerability causes
  5. Challenge time-limited completion

Estimated Time: Continuous improvement

Recommended Resources:



Other OWASP Practice Platforms

Besides Juice Shop, OWASP provides other practice platforms.

OWASP WebGoat

WebGoat is OWASP's earliest practice platform. More "educational" than Juice Shop.

Features:

Installation:

docker pull webgoat/webgoat
docker run -p 8080:8080 -p 9090:9090 webgoat/webgoat

Comparison:

AspectJuice ShopWebGoat
StyleGamified, free explorationEducational, step-by-step
Difficulty1-6 stars broad rangeMore basic
Tech StackNode.js + AngularJava
Suitable ForCTF enthusiastsSystematic learners

OWASP BWA (Broken Web Applications)

BWA is a virtual machine containing multiple vulnerable applications.

Included Applications:

Features:

Suitable For: People who want to compare different practice platforms

Platform Selection Recommendations

Your NeedRecommended Platform
Quick start, funJuice Shop
Systematic learning, need tutorialsWebGoat
Multiple environments, deep practiceBWA
Realism, advanced challengesHackTheBox, TryHackMe


Practicing with OWASP ZAP

Juice Shop and OWASP ZAP are a perfect match. One provides the vulnerable environment, the other provides testing tools.

Setting Up ZAP Proxy

  1. Start ZAP
  2. Configure browser Proxy to point to localhost:8080
  3. Browse Juice Shop website
  4. ZAP automatically records all traffic

Using ZAP to Find Vulnerabilities

Passive Scanning: Browse Juice Shop normally, ZAP automatically analyzes responses, finding obvious issues (like missing security headers).

Active Scanning: Run active scan against Juice Shop, letting ZAP automatically test various attack vectors.

Right-click Juice Shop in Sites
β†’ Attack β†’ Active Scan
β†’ Wait for scan completion
β†’ Check Alerts tab

Manual Testing: Use ZAP's "Manual Request Editor" to modify requests, testing API vulnerabilities.

For detailed ZAP usage tutorial, refer to OWASP ZAP Complete Tutorial.

Practice Recommendations

  1. Try manually first: Build intuition
  2. Then verify with tools: Learn what tools can find
  3. Compare differences: Understand automated tool limitations
  4. Study principles: Know why attacks succeed


FAQ

Q1: Can Juice Shop Be Used for Interview Preparation?

Yes, very helpful.

What Juice Shop helps you prepare for:

Technical Interviews:

Practical Tests: Some companies give CTF-style tests. Juice Shop practice makes you more familiar with these problems.

Preparation Recommendations:

  1. Complete at least 50% of challenges
  2. Can clearly explain principles and defenses for each vulnerability
  3. Prepare a few impressive challenges as stories
  4. Understand real-world impact of vulnerabilities

Q2: How Long to Complete All Challenges?

Depends on experience, from weeks to months.

Reference Time:

BackgroundEstimated Time
Complete beginner3-6 months
Has development experience1-3 months
Has security basics2-4 weeks
Security expertFew days to 1 week

Influencing Factors:

Recommendation: Don't chase speed, focus on truly understanding each vulnerability.

Q3: Are There Official Solutions?

Yes, but use cautiously.

Official Resources:

Usage Recommendations:

  1. Try yourself for at least 30 minutes
  2. When stuck, look at "hints" not "solutions"
  3. After seeing solutions, understand "why"
  4. Try different methods for same challenge
  5. After completing, study defense methods

Learning Effectiveness Comparison:

Real learning happens in the process of being stuck and thinking.



Conclusion

OWASP Juice Shop is the best starting point for learning web security. Free, fun, content-rich.

Why Practice with Juice Shop:

Learning Recommendations:

  1. Set up environment first, start immediately
  2. Begin with 1 star challenges, build confidence
  3. Combine with ZAP for tool learning
  4. Understand vulnerability principles, not just solving
  5. Try other platforms after completion

Next Steps:

If you develop Mobile Apps or IoT products, don't forget to learn OWASP Mobile and IoT Security specific risks.

Security learning is a long road. Juice Shop is a great first step. Have fun!

Need Professional Cloud Advice?

Whether you're evaluating cloud platforms, optimizing existing architecture, or looking for cost-saving solutions, we can help

Book Free Consultation

OWASPAWSGCPKubernetesDocker
← Previous
OWASP LLM Top 10 Complete Guide: 2025 AI Large Language Model Top Ten Security Risks
Next β†’
What is OWASP? 2025 Complete Guide: Top 10, ZAP Tools, Security Standards Explained