For vulnerable web applications, the first results are juice-shop/juice-shop (Juice Shop is an intentionally vulnerable web application packed with OWASP Top 10 security flaws, Docker support, and built-in challenges for CTF training and security testing), webgoat/webgoat (WebGoat is a deliberately insecure web application featuring interactive security labs, containerized sandbox deployment, and structured vulnerability training scenarios designed for learning web application security) and ethicalhack3r/dvwa (DVWA is a classic deployable vulnerable web application sandbox with tunable security difficulty levels, making it a cornerstone environment for practicing the OWASP Top 10 and web security testing). digininja/dvwa and zhuifengshaonianhanlu/pikachu round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Explore open-source vulnerable web applications to practice security testing and compare intentionally insecure projects on GitHub.
Juice Shop is a self-contained web application designed as a platform for cybersecurity education and security training. It functions as a controlled environment containing intentional security flaws, allowing users to practice offensive security techniques and defensive coding practices while tracking their progress through a live scoreboard. The platform serves as an industry-standard benchmark for evaluating the effectiveness and detection accuracy of automated security scanning tools. By hosting a standardized set of known vulnerabilities and common attack patterns, it provides a reliable
Juice Shop is an intentionally vulnerable web application packed with OWASP Top 10 security flaws, Docker support, and built-in challenges for CTF training and security testing.
WebGoat is a deliberately insecure web application designed as an interactive security lab for learning how to identify and exploit common web vulnerabilities. It serves as a containerized sandbox that allows for the simulation and experimentation of web-based attacks and penetration testing techniques without risking production systems. The project functions as a learning lab that maps specific insecure coding patterns to structured lessons. It implements simulated server-side flaws to provide a hands-on environment for studying common security vulnerabilities and defensive coding practices.
WebGoat is a deliberately insecure web application featuring interactive security labs, containerized sandbox deployment, and structured vulnerability training scenarios designed for learning web application security.
DVWA is a vulnerable web application sandbox and PHP security training environment. It serves as a deployable penetration testing target and an OWASP Top 10 lab designed for practicing exploits and simulating common web security vulnerabilities. The application allows users to adjust security difficulty levels to match their skill level and toggle between different SQL database engines to test how various systems handle injection attacks. It includes a mechanism to disable authentication, enabling automated security tools to interact directly with the environment. The project provides capabi
DVWA is a classic deployable vulnerable web application sandbox with tunable security difficulty levels, making it a cornerstone environment for practicing the OWASP Top 10 and web security testing.
DVWA is a vulnerable web application lab and penetration testing sandbox designed to simulate common security flaws. It serves as a training platform for the OWASP Top 10 security risks and functions as a PHP and MySQL security lab for practicing the identification and exploitation of web vulnerabilities. The project provides a graduated learning experience through configurable security levels that adjust the difficulty of the vulnerabilities. It also supports switching between different database engines to research how various storage systems respond to injection attacks. The application is
DVWA is a classic intentionally vulnerable web application covering the OWASP Top 10 with configurable security levels, built-in training scenarios, and full source code access for security testing.
Pikachu is a web security training platform and vulnerable web application sandbox. It provides a containerized lab environment designed for practicing penetration testing and identifying common security flaws. The project serves as an OWASP Top 10 practice lab, offering a simulation suite for critical risks. It includes specific scenarios for practicing the exploitation of SQL injection, cross-site scripting, remote code execution, and broken access control. The environment covers a broad range of security testing simulations, including directory traversal, server-side request forgery, unsa
Pikachu is an intentionally vulnerable web application and security training platform that features containerized deployment, OWASP Top 10 coverage, and practical challenges for learning web security.
OWASP Juice Shop is a comprehensive, self-hostable intentionally vulnerable web application featuring extensive OWASP Top 10 coverage, Docker support, guided challenges, and complete source code access.
WackoPicko is a vulnerable web application used to test web application vulnerability scanners.
WackoPicko is a PHP-based intentionally vulnerable web application tailored for testing scanners, fitting the category well though lacking modern features like Docker support and extensive walkthroughs.
OWASP WebGoat.NET
WebGoat.NET is an intentionally vulnerable web application covering the OWASP Top 10 with hands-on security lessons, though it lacks the out-of-the-box Docker support and comprehensive walkthrough documentation found in the flagship Java version.
sqli-labs is a collection of intentionally vulnerable web applications and sandbox environments designed for practicing the identification and exploitation of SQL injection vulnerabilities. It serves as a cybersecurity education lab where users can experiment with database exploits in a controlled setting. The environment provides specialized modules for testing a wide range of attack vectors, including error-based, boolean-blind, and time-based injections. It specifically covers advanced techniques such as second-order injections, stacked queries, and attacks targeting HTTP headers. The pro
This repository is an intentionally vulnerable web application specifically built for learning and practicing SQL injection attacks through structured scenarios, though it focuses narrowly on SQLi rather than providing a broad OWASP Top 10 curriculum.
This repository provides a self-hostable vulnerable Node.js application for practicing web security, though it lacks the extensive feature set of larger training platforms.
the main hackademic code repository
Hackademic is a PHP-based intentionally vulnerable web application tailored for security training and challenges, making it a fitting choice despite its minimal tagline and description.
The OWASP NodeGoat project provides an environment to learn how OWASP Top 10 security risks apply to web applications developed using Node.js and how to effectively address them.
NodeGoat is an intentionally vulnerable web application covering the OWASP Top 10 specifically for Node.js, making it a great learning environment even though it lacks some broader platform features.
Web and mobile application security training platform
Security Shepherd is a self-hostable training platform that provides security challenges for web and mobile applications, fulfilling the core intentionally vulnerable application category though it relies on Java and lacks a complete suite of OWASP Top 10 Docker images out-of-the-box.
Damn Vulnerable GraphQL Application is an intentionally vulnerable GraphQL service implementation designed for learning about and practising GraphQL Security.
Damn Vulnerable GraphQL Application is a specialized intentionally vulnerable web application focused on GraphQL security, though it has a narrower scope than a broad OWASP Top 10 training platform.
Spring Boot web application vulnerable to Log4Shell (CVE-2021-44228).
This repository provides a self-hostable Spring Boot application specifically vulnerable to the Log4Shell exploit for security testing, though its scope is limited to a single vulnerability rather than a broad training platform.
A very vulnerable web site written in NodeJS with the purpose of have a project with identified vulnerabilities to test the quality of security analyzers tools tools
This Node.js application provides a vulnerable web site for testing security tools and learning, making it a good fit for the category despite a narrower feature set and limited documentation.
Vulhub is a collection of pre-configured, containerized applications designed to serve as a standardized platform for security research, vulnerability testing, and educational exploitation exercises. It functions as an orchestration framework that enables users to deploy isolated software environments for the purpose of practicing penetration testing and analyzing common security flaws in a controlled setting. The project utilizes an infrastructure-as-code pattern to define complex, multi-service software stacks, ensuring that testing targets remain consistent and reproducible. By leveraging
Vulhub provides a comprehensive collection of containerized, pre-configured vulnerable environments that are easy to deploy with Docker, though it focuses more on orchestration configurations than built-in training walkthroughs.
Damn Vulnerable Restaurant is an intentionally vulnerable Web API game for learning and training purposes dedicated to developers, ethical hackers and security engineers.
Damn Vulnerable Restaurant is an intentionally vulnerable web API game built for security training and learning, though it focuses specifically on APIs rather than general web applications and lacks explicit Docker support or walkthrough documentation in its metadata.
Kubernetes Goat is a security training environment designed for practicing the identification and exploitation of common vulnerabilities within an intentionally insecure cluster. It provides a controlled setting to simulate system exploitations, including container escapes, role misconfigurations, and server-side requests. The project utilizes scenario-based vulnerability deployment to create specific security flaws. It includes utilities for environment management that allow the cluster to be restored to a clean baseline by removing vulnerable scenarios, service accounts, and role bindings.
Kubernetes Goat is an intentionally vulnerable infrastructure lab tailored for cloud-native security training and CTF scenarios, though its scope is focused specifically on Kubernetes clusters rather than traditional web applications.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| juice-shop/juice-shop | 12.5K | TypeScript | mit | |
| webgoat/webgoat | 9.2K | JavaScript | NOASSERTION | |
| ethicalhack3r/dvwa | 13.2K | PHP | GPL-3.0 | |
| digininja/dvwa | 13.2K | PHP | GPL-3.0 | |
| zhuifengshaonianhanlu/pikachu | 4.4K | PHP | Apache-2.0 | |
| bkimminich/juice-shop | 0 | — | — | — |
| adamdoupe/wackopicko | 350 | PHP | MIT | |
| jerryhoff/webgoat.net | 252 | C# | — | |
| audi-1/sqli-labs | 5.8K | PHP | — | |
| appsecco/dvna | 0 | — | — | — |