← Back to home

Practice Environment

QA Sandbox

A hands-on practice ground for QA engineers. Each scenario contains intentionally planted bugs, vulnerabilities, and edge cases. No accounts. No scores. No hints beyond the scenario page. Your job is to find what's broken.

🎉 Bug Found
✅ True Positive
⚠️ False Positive
❌ False Negative
💉

SQL Injection
Beginner 8 tests

Login form vulnerable to classic SQLi bypass. Find the input that breaks authentication.

Cross-Site Scripting (XSS)
Intermediate Coming Soon

A bio field that sanitizes one XSS vector but not another. Find the one that executes.

SSRF
Intermediate 5 tests

A URL-fetch endpoint with no destination validation. Reach the loopback admin panel, cloud metadata service, internal LAN host, and local filesystem.

Path Traversal
Intermediate 5 tests

A file download endpoint with no path sanitization. Escape the base directory using ../ sequences, URL-encoded dots, and a null-byte extension bypass.

XXE
Intermediate 4 tests

An XML parser with external entity resolution enabled. Declare a SYSTEM entity pointing at a local file or cloud metadata endpoint — the parser resolves it and returns the contents.

DOM-Based XSS
Intermediate 5 tests

A card preview reads the URL hash and writes it to the page via innerHTML. Script tags are partially stripped — find the event-handler vectors that bypass the filter.

Script Injection
Intermediate 4 tests

A metrics widget processes the same input through eval(), new Function(), and parseFloat(). No HTML tags needed - find which execution contexts run arbitrary JavaScript and which are safe.

Browser Storage Exploits
Intermediate 4 tests

Auth tokens in localStorage, a role flag the page trusts without a server check, and PII cached in plain text. Find which storage patterns are safe and which create exploitable vulnerabilities.

CSS Injection
Intermediate 4 tests

User input lands inside a style attribute and a <style> block. A semicolon extends the attribute; a closing brace escapes the rule entirely. A third field validates before applying.

Insecure Deserialization
Advanced 4 tests

A session endpoint that calls pickle.loads() on a user-supplied cookie. Craft a payload with __reduce__ to execute OS commands — then verify the JSON endpoint handles it safely.