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 labs

SQLi

SQL Injection (SQLi) happens when user-controlled input is concatenated into a SQL query without parameterization. It le...

See labs

NoSQL Injection

NoSQL Injection exploits the lack of sanitization in queries to NoSQL databases like MongoDB, CouchDB or Redis. Operator...

See labs

CSRF

CSRF forces an authenticated user to perform unwanted actions on a web application where they're logged in. It can chang...

See labs

IDOR

IDOR happens when an application exposes direct references to internal objects (IDs, files, slugs) without verifying tha...

See labs

Broken Access Control

Broken Access Control is #1 in the OWASP Top 10. It covers any situation where a user reaches resources or functionality...

See labs

SSRF

SSRF lets you force the server to make HTTP requests to arbitrary destinations, including internal services, cloud provi...

See labs

Open Redirect

An Open Redirect happens when an application redirects users to attacker-controlled URLs without validation. It can be u...

See labs

Race Condition

Race Conditions occur when the application doesn't correctly handle concurrent operations. They let you duplicate transa...

See labs

Path Traversal

Path Traversal lets you reach files and directories outside the application's root. Using sequences like ../ you can rea...

See labs

Command Injection

Command Injection happens when user input is concatenated into an operating-system shell call. It lets you run arbitrary...

See labs

SSTI

SSTI happens when user input is concatenated into a server-side rendered template (Jinja2, Twig, FreeMarker, Velocity, H...

See labs

XXE

XXE exploits XML parsers that resolve external entities. It lets you read arbitrary server files, perform SSRF (via remo...

See labs

CORS

CORS Misconfigurations let malicious sites read API responses containing the victim user's sensitive data. It usually co...

See labs

Auth Bypass

Authentication Bypass is any technique that lets you access an account or resource without passing the legitimate authen...

See labs

API Abuse

API Abuse vulnerabilities exploit REST and GraphQL API functionality beyond its intended use: rate limiting bypass, mass...

See labs

Business Logic

Business Logic vulnerabilities are flaws in the application's design that let attackers manipulate legitimate business p...

See labs

JWT

JSON Web Token attacks exploit insecure signature and verification implementations. From accepting alg=none to RS256→HS2...

See labs

GraphQL

GraphQL attacks exploit the query language's own features: introspection that exposes the whole schema, alias batching f...

See labs

Subdomain Takeover

Subdomain Takeover happens when a subdomain points (via CNAME) to an external service that no longer exists or is unclai...

See labs

Clickjacking

Clickjacking tricks the user into clicking on invisible elements of a victim page loaded in a transparent overlaid ifram...

See labs

File Upload

File Upload vulnerabilities appear when an app allows uploading files without validating type, content or destination. D...

See labs

Prototype Pollution

Prototype Pollution is a JavaScript vulnerability where the attacker injects properties into Object.prototype via keys l...

See labs

Cache Poisoning

Web Cache Poisoning abuses inputs not included in the cache key (unkeyed inputs) to store a malicious response that's th...

See labs

LFI

Local File Inclusion happens when an app includes and processes a local file whose path the user controls. Beyond readin...

See labs

Deserialization

Insecure Deserialization happens when an app reconstructs objects from user-controlled serialized data without validatin...

See labs

OAuth

OAuth 2.0 and SSO attacks exploit incorrect implementations of the authorization flow: loose redirect_uri validation, mi...

See labs

HTTP Smuggling

HTTP Request Smuggling exploits the desync between the front-end (proxy/CDN) and the back-end when interpreting where a ...

See labs

Prompt Injection

Prompt Injection means smuggling instructions into the input (or into the content it ingests) of an LLM-powered applicat...

See labs

Mass Assignment

Mass Assignment happens when a framework automatically binds the request fields to an object/model without an allowlist....

See labs

Host Header

Host Header Injection abuses applications that trust the request's Host header (or X-Forwarded-Host). By manipulating it...

See labs

CRLF Injection

CRLF Injection injects carriage-return and line-feed characters (%0d%0a) into input the server reflects inside HTTP head...

See labs

Cache 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

hunters training

labs from real reports
55

labs from real reports

completions
1,204

completions

in bounties practiced
$213,970

in bounties practiced

46 flags captured this week·Real reports from HackerOne · Bugcrowd · Intigriti·No commitment·Free Academy
BBLabs · bug bounty training

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