Attack simulations

Run the exploit, then close the hole

Each simulation is a working vulnerable app. Break it first — no setup and no backend, everything runs in your browser — then apply the fix and watch the same attack fail.

60 simulations · beginner to advanced

Available

Ready to run — no install needed60

IDOR

Beginner3 challenges

Change an order ID to read another user's data. Enumerate sequential IDs, exploit mass assignment, then apply ownership checks.

OWASP #1 · Access Control · Mass Assignment

SSRF

Intermediate3 challenges

Trick the server into fetching internal URLs — Redis session tokens, AWS IAM credentials, admin panels. Apply allowlists to fix it.

OWASP #10 · AWS Metadata · Internal Network

Clickjacking

Beginner3 challenges

A transparent iframe tricks you into confirming a bank transfer. Configure X-Frame-Options and CSP frame-ancestors to stop it.

UI Redressing · X-Frame-Options · CSP

Race Condition

Intermediate2 challenges

Fire 5 parallel transfer requests at a $100 account — watch the balance go negative. Fix with SELECT FOR UPDATE.

TOCTOU · DB Transactions · Concurrency

OAuth Misconfig

Intermediate3 challenges

Steal auth codes via open redirect_uri. Bypass CSRF protection with a missing state parameter. Apply both fixes.

OAuth 2.0 · Open Redirect · PKCE

XXE Injection

Intermediate2 challenges

Supply a malicious XML document that references external entities — read /etc/passwd and make the server fetch internal URLs.

OWASP #5 · XML · SSRF via XXE

Command Injection

Intermediate3 challenges

Inject shell metacharacters into a server-side ping utility. Chain commands with ; and | to read sensitive files and exfiltrate data.

OWASP #3 · Shell · RCE

Subdomain Takeover

Advanced3 challenges

A dangling CNAME points to an unclaimed cloud resource. Claim it and serve content under the victim's trusted subdomain.

DNS · Cloud · Recon

SQL Injection

Beginner3 challenges

Bypass authentication and extract database rows from a vulnerable login form using classic SQLi techniques.

OWASP #1 · Auth Bypass · Data Leak

Cross-Site Scripting

Beginner3 challenges

Inject malicious scripts into a fake comment board. See reflected vs stored XSS — and what a CSP blocks.

OWASP #3 · DOM · Session Hijack

CSRF Attack

Intermediate2 challenges

Watch an evil site silently trigger actions on your "bank" using your session cookies — without you knowing.

OWASP #5 · Session · Tokens

Brute Force Attack

Beginner2 challenges

Simulate an attacker hammering a login endpoint. Configure rate limiting and lockout policies to stop it.

Rate Limiting · Auth · Lockout

Path Traversal

Intermediate3 challenges

Escape the web root using ../../../ sequences and read files you were never supposed to access.

File Access · OWASP #1

Crack the Hash

Beginner3 challenges

Run a dictionary attack against MD5, SHA-1, and bcrypt hashes. See why MD5 falls in seconds — and why bcrypt stops attacks cold.

Password Hashing · MD5 · bcrypt · Dictionary Attack

JWT Forgery

Intermediate3 challenges

Exploit alg:none bypass, brute-force a weak HMAC secret, and tamper with expired claims to forge admin tokens.

Auth · JWT · Cryptography · OWASP #2

Padding Oracle

Advanced3 challenges

Flip bytes in an AES-CBC IV and query a padding oracle to decrypt ciphertext one byte at a time — without ever knowing the key.

AES-CBC · Cryptography · Side Channel

Supply Chain Attack

Intermediate3 challenges

Find typosquatted packages, detect dependency confusion, and spot malicious post-install scripts targeting your dependencies.

Supply Chain · npm · Dependencies

Phishing Email Builder

Beginner3 challenges

Craft a phishing email, detect suspicious indicators, and configure SPF, DKIM, and DMARC defenses.

Phishing · Email Security · SPF/DKIM/DMARC

API Key Leak Scanner

Beginner3 challenges

Find hardcoded secrets in code, spot leaked .env files in git diffs, and learn to secure credentials properly.

Secrets · Git · Credentials

Ransomware Incident

Intermediate3 challenges

Respond to a ransomware attack — isolate, assess damage, and make critical recovery decisions under pressure.

Incident Response · Ransomware · Recovery

Zero-Day Exploit Chain

Advanced3 challenges

Chain SSRF → AWS metadata → IAM credential theft into a full cloud compromise. Learn how attackers combine vulnerabilities.

SSRF · AWS · IAM · Cloud Security

DNS Poisoning

Intermediate3 challenges

Inject fake DNS records, redirect traffic to a spoofed login page, and harvest credentials. Then defend with DNSSEC.

DNS · DNSSEC · Network

Container Escape

Advanced3 challenges

Break out of a Docker container — exploit privileged mode, mount the host filesystem, and exfiltrate /etc/shadow.

Docker · Containers · Privileges

JWT Algorithm Swap

Intermediate3 challenges

Swap RS256 to HS256 using the public key as HMAC secret. Forge admin tokens with algorithm confusion.

JWT · RS256 · HS256

Insecure Deserialization

Advanced2 challenges

Craft malicious serialized objects that execute code on the server when deserialized.

OWASP #8 · RCE · Serialization

GraphQL Introspection

Beginner3 challenges

Exploit an open GraphQL endpoint — run introspection queries, discover hidden fields, and extract sensitive data.

GraphQL · API · Data Leak

Wi-Fi Evil Twin

Intermediate3 challenges

Set up a rogue access point, intercept unencrypted traffic, and capture credentials via a captive portal.

WiFi · MitM · Rogue AP

Prototype Pollution

Intermediate3 challenges

Pollute JavaScript's prototype chain via __proto__ injection. Bypass auth checks and escalate privileges.

JavaScript · Prototype · Object

CORS Exploit

Intermediate3 challenges

Exploit misconfigured CORS headers to steal data cross-origin. Then configure proper CORS defenses.

CORS · Browser Security · Origin

Server Timing Attack

Advanced2 challenges

Exploit response time differences to guess passwords character by character. Then fix with constant-time comparison.

Side Channel · Timing · Cryptography

LDAP Injection

Intermediate2 challenges

Inject LDAP queries to bypass authentication and extract directory data.

LDAP · Injection · Auth

NoSQL Injection

Intermediate3 challenges

Exploit MongoDB queries with $gt, $ne, and $where operators to bypass login.

MongoDB · NoSQL · Injection

XML Bomb

Advanced2 challenges

Craft a Billion Laughs attack with nested XML entities that consume exponential memory.

XML · DoS · DTD

HTTP Header Injection

Beginner2 challenges

Inject CRLF characters to add malicious headers and set cookies.

HTTP · CRLF · Headers

Open Redirect

Beginner3 challenges

Exploit unvalidated redirects to send users to phishing sites after login.

Redirect · Phishing · URL

Mass Assignment

Intermediate2 challenges

Add role:admin to a profile update request and escalate your privileges.

API · Privilege · Object

Insecure File Upload

Intermediate3 challenges

Bypass file type checks to upload a web shell and achieve remote code execution.

Upload · RCE · Bypass

Session Fixation

Intermediate2 challenges

Set a victim's session ID before they log in, then hijack their authenticated session.

Session · Auth · Cookies

HTTP Request Smuggling

Advanced2 challenges

Exploit CL/TE desync between a proxy and backend to smuggle hidden requests.

HTTP · Desync · Proxy

Server-Side Template Injection

Advanced3 challenges

Inject {{7*7}} into a template engine and escalate to remote code execution.

SSTI · RCE · Template

WebSocket Hijacking

Intermediate2 challenges

Exploit missing origin validation to hijack WebSocket connections cross-origin.

WebSocket · CSWSH · Origin

Credential Stuffing

Beginner3 challenges

Use leaked credentials from one breach to take over accounts on another service.

Passwords · Breach · MFA

S3 Bucket Misconfiguration

Beginner3 challenges

List and download files from a publicly accessible S3 bucket.

AWS · S3 · Cloud

Kubernetes Pod Escape

Advanced2 challenges

Steal a service account token and query the Kubernetes API from inside a pod.

K8s · Container · RBAC

Log Injection

Beginner2 challenges

Inject fake log entries with newline characters to manipulate audit trails.

Logging · Injection · Forensics

ReDoS

Intermediate2 challenges

Craft input that causes exponential regex backtracking and hangs the server.

Regex · DoS · Performance

Broken Object-Level Auth

Intermediate3 challenges

Change an API resource ID to access other users' data — no ownership check.

OWASP #1 · IDOR · API

JWT Key Injection

Advanced2 challenges

Exploit the JKU header to point JWT verification to your own key server.

JWT · JKU · Key Confusion

API Rate Limit Bypass

Intermediate3 challenges

Bypass rate limiting with X-Forwarded-For, User-Agent rotation, and header tricks.

API · Rate Limit · Headers

Prompt Injection

Beginner3 challenges

Inject instructions into an AI chatbot to reveal its system prompt and bypass filters.

AI · LLM · Prompt

DOM-Based XSS

Intermediate3 challenges

Craft a location.hash payload that a client-side innerHTML sink parses and runs. Steal a cookie, then switch to a textContent sink.

OWASP #3 · DOM · Client-Side

Host Header Injection

Intermediate3 challenges

Spoof the Host and X-Forwarded-Host headers to poison a password-reset link, then pin a trusted canonical host to shut it down.

HTTP · Password Reset · Headers

HTTP Parameter Pollution

Intermediate3 challenges

Send duplicate query params so a validator and the backend parse different values, bypassing an access check. Reject duplicates to fix it.

HTTP · HPP · Access Control

Web Cache Deception

Advanced3 challenges

Trick a CDN into caching a victim's private page under a /account/profile.css URL, then read it. Cache by content-type to stop it.

CDN · Caching · Info Leak

XPath Injection

Intermediate3 challenges

Inject ' or '1'='1 into an XPath login query to bypass auth and log in as admin, then bind values as XPath variables.

XML · Injection · Auth Bypass

Email Header Injection

Beginner3 challenges

Inject CRLF into a contact form's email field to smuggle hidden Bcc recipients and forge headers, then strip CR/LF to fix it.

CRLF · Email · Injection

Zip Slip

Intermediate3 challenges

Craft a malicious archive entry named ../../etc/cron.d/x that escapes the extraction directory, then canonicalize and confine writes.

Path Traversal · Archive · RCE

Business Logic Abuse

Beginner3 challenges

Set a negative quantity or stack coupons to drive a checkout total below zero, then recompute prices server-side to stop the abuse.

Logic Flaw · Checkout · Validation

CSV / Formula Injection

Intermediate3 challenges

Craft a display name that runs as a spreadsheet formula when the victim exports and opens the CSV — then neutralise it by escaping risky cells.

Formula Injection · Export · Spreadsheet

Web Cache Poisoning

Advanced3 challenges

Reflect an unkeyed header into a cacheable response to poison a CDN entry and serve malicious JS to every visitor — then key the input to stop it.

Cache · Unkeyed Input · CDN

Frequently Asked Questions