Labs by category
Vulnerability Labs
Practice every type of vulnerability with labs based on real reports from HackerOne, Bugcrowd and Intigriti.
XSS
Cross-Site Scripting (XSS) lets you inject malicious scripts into web pages that other users visit. It's one of the most...
See labsSQLi
SQL Injection (SQLi) happens when user-controlled input is concatenated into a SQL query without parameterization. It le...
See labsNoSQL Injection
NoSQL Injection exploits the lack of sanitization in queries to NoSQL databases like MongoDB, CouchDB or Redis. Operator...
See labsCSRF
CSRF forces an authenticated user to perform unwanted actions on a web application where they're logged in. It can chang...
See labsIDOR
IDOR happens when an application exposes direct references to internal objects (IDs, files, slugs) without verifying tha...
See labsBroken Access Control
Broken Access Control is #1 in the OWASP Top 10. It covers any situation where a user reaches resources or functionality...
See labsSSRF
SSRF lets you force the server to make HTTP requests to arbitrary destinations, including internal services, cloud provi...
See labsOpen Redirect
An Open Redirect happens when an application redirects users to attacker-controlled URLs without validation. It can be u...
See labsRace Condition
Race Conditions occur when the application doesn't correctly handle concurrent operations. They let you duplicate transa...
See labsPath Traversal
Path Traversal lets you reach files and directories outside the application's root. Using sequences like ../ you can rea...
See labsCommand Injection
Command Injection happens when user input is concatenated into an operating-system shell call. It lets you run arbitrary...
See labsSSTI
SSTI happens when user input is concatenated into a server-side rendered template (Jinja2, Twig, FreeMarker, Velocity, H...
See labsXXE
XXE exploits XML parsers that resolve external entities. It lets you read arbitrary server files, perform SSRF (via remo...
See labsCORS
CORS Misconfigurations let malicious sites read API responses containing the victim user's sensitive data. It usually co...
See labsAuth Bypass
Authentication Bypass is any technique that lets you access an account or resource without passing the legitimate authen...
See labsAPI Abuse
API Abuse vulnerabilities exploit REST and GraphQL API functionality beyond its intended use: rate limiting bypass, mass...
See labsBusiness Logic
Business Logic vulnerabilities are flaws in the application's design that let attackers manipulate legitimate business p...
See labsJWT
JSON Web Token attacks exploit insecure signature and verification implementations. From accepting alg=none to RS256→HS2...
See labsGraphQL
GraphQL attacks exploit the query language's own features: introspection that exposes the whole schema, alias batching f...
See labsSubdomain Takeover
Subdomain Takeover happens when a subdomain points (via CNAME) to an external service that no longer exists or is unclai...
See labsClickjacking
Clickjacking tricks the user into clicking on invisible elements of a victim page loaded in a transparent overlaid ifram...
See labsFile Upload
File Upload vulnerabilities appear when an app allows uploading files without validating type, content or destination. D...
See labsPrototype Pollution
Prototype Pollution is a JavaScript vulnerability where the attacker injects properties into Object.prototype via keys l...
See labsCache Poisoning
Web Cache Poisoning abuses inputs not included in the cache key (unkeyed inputs) to store a malicious response that's th...
See labsLFI
Local File Inclusion happens when an app includes and processes a local file whose path the user controls. Beyond readin...
See labsDeserialization
Insecure Deserialization happens when an app reconstructs objects from user-controlled serialized data without validatin...
See labsOAuth
OAuth 2.0 and SSO attacks exploit incorrect implementations of the authorization flow: loose redirect_uri validation, mi...
See labsHTTP Smuggling
HTTP Request Smuggling exploits the desync between the front-end (proxy/CDN) and the back-end when interpreting where a ...
See labsPrompt Injection
Prompt Injection means smuggling instructions into the input (or into the content it ingests) of an LLM-powered applicat...
See labsMass Assignment
Mass Assignment happens when a framework automatically binds the request fields to an object/model without an allowlist....
See labsHost Header
Host Header Injection abuses applications that trust the request's Host header (or X-Forwarded-Host). By manipulating it...
See labsCRLF Injection
CRLF Injection injects carriage-return and line-feed characters (%0d%0a) into input the server reflects inside HTTP head...
See labsCache Deception
Web Cache Deception tricks a cache into storing the victim's dynamic, authenticated page believing it's a static resourc...
See labs- hunters training
- 709
- labs from real reports
- 55
- completions
- 1,204
- in bounties practiced
- $213,970
hunters training
labs from real reports
completions
in bounties practiced
Stop reading about bugs and start hunting them
Create your free account and practice on labs based on real reports that paid out thousands of euros. The Academy is free forever.
No card · free Academy · cancel anytime