A comprehensive demonstration of common web security vulnerabilities and how to protect against them
This project demonstrates 12 common web security vulnerabilities with interactive examples. Each demonstration includes:
SQL injection is a code injection technique that exploits vulnerabilities in database queries. Attackers can manipulate queries to bypass authentication, extract data, or even delete information.
Impact: Data theft, authentication bypass, data loss
View DemoClickjacking is a UI redress attack where attackers overlay transparent elements over legitimate buttons, tricking users into clicking malicious elements.
Impact: Unwanted actions, account compromise
View DemoXSS allows attackers to inject client-side scripts into web pages viewed by others. This can lead to session hijacking, credential theft, and more.
Impact: Session hijacking, phishing, content manipulation
View DemoCSRF forces authenticated users to execute unwanted actions on websites where they're logged in, by tricking them into making requests without their knowledge.
Impact: Unauthorized actions, account changes
View DemoIDOR occurs when an application exposes a reference to an internal implementation object, allowing attackers to manipulate references to access unauthorized data.
Impact: Unauthorized data access, privacy violations
View DemoSSRF allows attackers to induce the server to make requests to unintended locations, potentially accessing internal services or sensitive data.
Impact: Access to internal services, data theft
View DemoXXE attacks target applications that parse XML input, potentially leading to disclosure of confidential data, server-side request forgery, or denial of service.
Impact: File disclosure, SSRF, DoS
View DemoBrowser storage mechanisms like localStorage can be vulnerable if sensitive data is stored insecurely, making it accessible to any JavaScript on the same origin.
Impact: Data exposure, credential theft
View DemoCSP helps prevent XSS and other code injection attacks, but weak configurations can be bypassed, allowing attackers to execute malicious scripts.
Impact: Script execution, XSS
View DemoDOM-based vulnerabilities occur when client-side JavaScript processes data from an untrusted source in an unsafe way, leading to exploitable DOM modifications.
Impact: Script execution, data theft
View DemoResponse splitting occurs when attackers inject newline characters into response headers, allowing them to add their own headers or inject content into the response.
Impact: Cache poisoning, XSS
View DemoPassword reset functionality is critical for security but often contains vulnerabilities like predictable tokens, missing expiration, or insufficient validation.
Impact: Account takeover, privilege escalation
View Demo