๐งช XSS Lab Index โ
30 Days to Master XSS
๐จ This section contains intentionally vulnerable XSS labs for ethical hacking and learning purposes only. Do not attack real sites.
๐ Back to the main guide:
30 Days to Master XSS (SudoHopeX)
All
Basic
Reflected
DOM
Event Handler
JavaScript
Challenge
Stored
CSP
SVG
URL
XSS Labs & Challenges by SudoHopeX
LAB 01 -
Practice Basic JavaScript Functions by SudoHopeX
LAB 02 -
Practice HTML & JS Payloads by SudoHopeX
LAB 03 -
XSS Challenge Lab by SudoHopeX
LAB 04 -
XSS Event Handler Lab
LAB 05 -
DOM Based XSS Lab
LAB 06 -
XSS Event Handler Lab 2 ( 60 Levels )
LAB 07 -
XSS Mixed Lab - Reflected/Stored/DOM/CSP/SVG/URL ( 50 Levels )
LAB 08 -
Reflected XSS Lab 2 ( 50 Levels )
LAB 09 -
Server Side (Stored ) Lab ( 20 Levels )
Other XSS Labs
TryHackMe -
TryHackMe Basic XSS Lab 01
Portswigger LAB -
Reflected XSS into HTML context with nothing encoded
Portswigger LAB -
Stored XSS into HTML context with nothing encoded
Portswigger LAB -
DOM XSS in document.write sink using source location.search
Portswigger LAB -
DOM XSS in innerHTML sink using source location.search
Portswigger LAB -
DOM XSS in jQuery anchor href attribute sink using location.search source
Portswigger LAB -
DOM XSS in jQuery selector sink using a hashchange event
Portswigger LAB -
Reflected XSS into attribute with angle brackets HTML-encoded
Portswigger LAB -
Stored XSS into anchor href attribute with double quotes HTML-encoded
Portswigger LAB -
Reflected XSS into a JavaScript string with angle brackets HTML encoded
Portswigger LAB -
DOM XSS in document.write sink using source location.search inside a select element
Portswigger LAB -
DOM XSS in AngularJS expression with angle brackets and double quotes HTML-encoded
Portswigger LAB -
Reflected DOM XSS
Portswigger LAB -
Stored DOM XSS
Portswigger LAB -
Reflected XSS into HTML context with most tags and attributes blocked
Portswigger LAB -
Reflected XSS into HTML context with all tags blocked except custom ones
Portswigger LAB -
Reflected XSS with some SVG markup allowed
Portswigger LAB -
Reflected XSS in canonical link tag
Portswigger LAB -
Reflected XSS into a JavaScript string with single quote and backslash escaped
Portswigger LAB -
Reflected XSS into a JavaScript string with angle brackets and double quotes HTML-encoded and single quotes escaped
Portswigger LAB -
Stored XSS into onclick event with angle brackets and double quotes HTML-encoded and single quotes and backslash escaped
Portswigger LAB -
Reflected XSS into a template literal with angle brackets, single, double quotes, backslash and backticks Unicode-escaped
Portswigger LAB -
Exploiting cross-site scripting to steal cookies
Portswigger LAB -
Exploiting cross-site scripting to capture passwords
Portswigger LAB -
Exploiting XSS to bypass CSRF defenses
Portswigger LAB -
Reflected XSS with AngularJS sandbox escape without strings
Portswigger LAB -
Reflected XSS with AngularJS sandbox escape and CSP
Portswigger LAB -
Reflected XSS with event handlers and href attributes blocked
Portswigger LAB -
Reflected XSS in a JavaScript URL with some characters blocked
Portswigger LAB -
Reflected XSS protected by very strict CSP, with dangling markup attack
Portswigger LAB -
Reflected XSS protected by CSP, with CSP bypass
XSS Challenges
Challenge 01 -
Google XSS Game
Challenge 02 -
Alf.nu XSS Game
Challenge 03 -
Code Latte XSS Lab