Skip to main content
This page aggregates cross-platform resources to practice Cross-Site Scripting (XSS): retired Hack The Box machines, PortSwigger Web Security Academy labs and TryHackMe rooms, plus curated resources (HackTricks, PortSwigger, etc.) and related skills. Coverage: 59 challenges across 3 platforms β€” 13 HackTheBox Β· 36 PortSwigger Β· 10 TryHackMe. 13 with a Spanish writeup, 21 with a video writeup.

Where to start

Ordered by actual difficulty. At the same level: isolated lab first, then the guided room, and the full machine last.
  1. PortSwigger β€” DOM XSS in document.write sink using source location.search (Apprentice) Β· πŸ‡¬πŸ‡§
  2. PortSwigger β€” DOM XSS in innerHTML sink using source location.search (Apprentice) Β· πŸ‡¬πŸ‡§
  3. PortSwigger β€” DOM XSS in jQuery anchor href attribute sink using location.search source (Apprentice) Β· πŸ‡¬πŸ‡§ πŸ“Ή
  4. PortSwigger β€” DOM XSS in jQuery selector sink using a hashchange event (Apprentice) Β· πŸ‡¬πŸ‡§
  5. PortSwigger β€” Exploiting DOM clobbering to enable XSS (Apprentice) Β· πŸ‡¬πŸ‡§
  6. PortSwigger β€” Reflected XSS in a JavaScript URL with some characters blocked (Apprentice) Β· πŸ‡¬πŸ‡§

Curated resources

HTB machines practicing Cross-Site Scripting (XSS) (13)

PortSwigger labs practicing Cross-Site Scripting (XSS) (36)

TryHackMe rooms practicing Cross-Site Scripting (XSS) (10)


← Back to the full glossary Last updated: 2026-08-17