Web Security Training Platform

Master cybersecurity vulnerabilities through hands-on labs designed to challenge and enhance your penetration testing skills.

217+
Labs Available
22
Vulnerability Types
3
Difficulty Levels
100%
Hands-On

Vulnerability Categories

Cross-Site Scripting (XSS)

LAB 1
Easy
Reflected XSS - Basic Input
LAB 2
Easy
Reflected XSS - Script Tag Filter Evasion
LAB 3
Medium
Reflected XSS - Script & Img Tag Filter
LAB 4
Medium
Reflected XSS - Case-Insensitive Filter Bypass
LAB 5
Hard
Reflected XSS - Less-Than Sign Filter
LAB 6
Hard
Reflected XSS in HTML Title Tag
LAB 7
Easy
Reflected XSS in Page Heading
LAB 8
Easy
Reflected XSS - Function Name Filter
LAB 9
Medium
Reflected XSS - Extended Function Filter
LAB 10
Medium
Reflected XSS - Event Handler Filter
LAB 11
Hard
Reflected XSS - Multi-Parameter Filter Evasion
LAB 12
Hard
Reflected XSS - Encoding Bypass Attempts
LAB 13
Hard
Reflected XSS - Mixed Security Parameters
LAB 14
Hard
Reflected XSS - String Concatenation Bypass
LAB 16
Hard
Reflected XSS in Search Function
LAB 17
Hard
Reflected XSS in Category Filter
LAB 18
Hard
Stored XSS - User Comments System
LAB 19
Hard
Stored XSS - User Profile Management
LAB 20
Hard
Stored XSS - Blog Post System
LAB 21
Hard
Stored XSS - Support Ticket System
LAB 22
Hard
Stored XSS - Admin Panel Settings
LAB 50
Hard
Self XSS via POST Parameter
LAB 51
Hard
POST-Based Reflected XSS
LAB 52
Hard
POST XSS in Input Tag Value
LAB 53
Hard
POST XSS in Document Title
LAB 54
Hard
DOM-based XSS with jQuery
LAB 55
Hard Real World
Reflected XSS in JS Analytics Context (Equifax — HackerOne #1818163)
LAB 56
Low Real World
Reflected XSS in HTML Attribute Context (PUBG — HackerOne #751870)
LAB 57
Low Real World
XSS via javascript: URI in Redirect Parameter (Shopify — HackerOne #1940245)
LAB 58
Medium Real World
Reflected XSS in URL Path Segment (Imgur Mobile — HackerOne #149855)
LAB 59
Hard Real World
Reflected XSS via Unquoted Attribute Injection (Reddit — HackerOne #1549206)
LAB 60
Hard Real World
Stored XSS in Report Name Field (MoPub / Twitter — HackerOne #485748)
LAB 61
Medium Real World
Stored XSS via Rich Text Editor HTML Tab in Article Body — Quill CMS (Shopify — HackerOne #1147433)
LAB 62
Medium Real World
Stored XSS in Profile Signature Field — DevAsk Forum (Acronis — HackerOne #1084183)
LAB 63
Medium Real World
Blind Stored XSS in Company Name (Informatica — HackerOne #1011888)
LAB 64
Hard Real World
Blind XSS via Support Ticket Form — ZAP-Hosting (Name, Subject & Message fields)
LAB 65
Medium Real World HackerOne #474656
DOM XSS via URL Tracking Parameter — HackerOne Careers
?lever- tracking param → jQuery.append() unsanitized sink
LAB 66
Medium Real World HackerOne #324303
DOM XSS via URL Hash Fragment — MyCrypto Wallet
#send-transaction hash → innerHTML unsanitized sink
LAB 67
Hard Real World HackerOne #396493
Reflected DOM XSS via URL + prettyPhoto Hash Chain — Starbucks UK
?slug= → canonical link attr injection + prettyPhoto jQuery trigger
LAB 68
Medium Real World HackerOne #704266
DOM XSS via Hash in jQuery Fancybox Selector — ForeScout Technologies
window.location.hash → .html() unsanitized sink
LAB 69
Medium Real World HackerOne #1004833
DOM XSS via javascript: URI in location.replace — Informatica IQ Card
document.location.search → location.replace() navigation sink

HTML Injection (HTMLI)

LAB 1
Easy Real World
HTML Injection in Support Chat (LinkedIn — HackerOne #3079966)
LAB 2
Easy Real World
Reflected HTML Injection via Search Parameter (E-commerce — Common Real-World Pattern)
LAB 3
Easy Real World
Stored HTML Injection via Nickname in Wallet-Share Email (Romit - HackerOne #57914)
LAB 4
Easy Real World
Stored HTML Tag Injection via Profile Name in Snippets Page (GitLab — HackerOne #358001)
LAB 5
Medium Real World
HTML Injection via First/Last Name in Confirmation Email (HackerOne — #1374017)

Open Redirect

LAB 1
Easy
Basic URL Parameter Redirect
LAB 2
Easy Real World
Open Redirect via URL Path Manipulation (Omise — HackerOne #504751)
LAB 3
Easy Real World
Open Redirect via URL Parameter (?url=) — Semrush · HackerOne #311330
LAB 4
Medium Real World
Open Redirect via \@ Validator Bypass (Tumblr — HackerOne #2812583)

Authentication Bypass

LAB 1
Medium Real World
Admin Auth Bypass via Response Manipulation (UPS — HackerOne #1490470)
LAB 2
Medium
OTP Verification Bypass via Response Manipulation
LAB 3
Medium
Phone OTP Bypass via Response Manipulation

SQL Injection (SQLI)

LAB 1
Easy
SQL Injection - Login Bypass
LAB 2
Easy
INSERT SQL Injection - Comment System
LAB 3
Medium
CRUD SQL Injection - Book Management
LAB 4
Medium
Time-based Blind SQL Injection
LAB 5
Medium
Integer-based SQL Injection
LAB 6
Hard
User-Agent Header Blind SQL Injection
LAB 7
Hard
Referer Header Blind SQL Injection
LAB 8
Hard
X-Forwarded-For Header Blind SQL Injection
LAB 9
Hard Real World
Time-based Blind SQLi via item_id + WAF Bypass (Zomato — #403616)
LAB 10
Hard Real World
Time-based Blind SQLi via User-Agent + XOR Arithmetic (labs.data.gov — #297478)
LAB 11
Hard Real World
UNION-based SQLi via URL siteId — Results Reflected in Page (IntenseDebate — #1046084)
LAB 12
Hard Real World
Blind SQLi via phone_number Login Field + XOR Payload (MTN FutExpert — #1069531)
LAB 13
Hard Real World
ORDER BY SQLi via WordPress Shortcode Parameter (drivegrab.com / Grab — #273946)
LAB 14
Hard Real World
Boolean-blind SQLi via REST API Path Segment (inDrive — #2051931)
LAB 15
Hard Real World
Time-Based Blind SQLi via JSONP Analytics Tracker (Rocket.Chat / AgileCRM — #433792)
LAB 16
Hard Real World
Boolean-Blind SQLi in PUT API Path Segment (Hyperpure / Zomato — #1044716)
LAB 17
Hard Real World
UNION-Based SQLi in Bearer-Auth Admin Search API (Acronis — #923020)
LAB 18
Hard Real World
UNION SQLi in WooCommerce Coupon Usage Report (Automattic — #3198980)
LAB 19
Hard Real World
Time-Based Blind SQLi + XOR WAF Bypass in WordPress Login (Acronis — #1224660)
LAB 20
Hard Real World
UNION SQLi via Integer entryid in DoD Form Confirmation AJAX Endpoint (U.S. DoD — #3127198)
LAB 21
Hard Real World
Blind SQLi via CASE/**/ WHEN + Comment-Space WAF Bypass in Zomato Banner API (Zomato — #838855)
LAB 22
Medium Real World
Time-Based Blind SQLi via GET Parameter in IntenseDebate Comment Settings (Automattic — #1042746)
LAB 23
Hard Real World
String SQLi via Nested Subquery WAF Bypass in DoD Publications (U.S. DoD — #491191)
LAB 24
Medium Real World
Time-Based Blind SQLi via XOR in DoD Publications Search (U.S. DoD — #2312334)

Cross-Site Request Forgery (CSRF)

LAB 1
Easy Real World
Login CSRF — Token Never Validated (HackerOne — HackerOne #834366)

Server-Side Request Forgery (SSRF)

LAB 1
Easy
Source Code Viewer - Basic cURL SSRF
LAB 2
Easy
Screenshot Tool - URL to Image
LAB 3
Medium
Port-based Timing Attack
LAB 4
Medium
Domain Restriction Bypass with Redirects
LAB 5
Medium
Website Checker with IP Blacklist
LAB 6
Medium
AWS Metadata Filter Bypass
LAB 7
Easy
PDF Generator - URL to PDF

Insecure Direct Object Reference (IDOR)

LAB 1
Easy
User Account Information Disclosure

Server-Side Template Injection (SSTI)

LAB 1
Easy
Template Engine Code Injection

Local File Inclusion (LFI)

LAB 1
Easy
Path Traversal - Basic
LAB 2
Medium
CMS Local File Inclusion
LAB 3
Hard
File Upload with LFI Vulnerability
LAB 4
Easy
Image Gallery File Inclusion

Remote File Inclusion (RFI)

LAB 1
Easy
Remote File Inclusion via URL

Remote Code Execution (RCE)

LAB 1
Easy
OS Command Injection