Reflected — Unfiltered
A search page echoes your query straight back into the HTML body. Get the page to run your script.
Uncrypt // security playground
A hands-on lab environment for students and enthusiasts. Practice real attacks — XSS, SQL injection, CSRF, SSRF, open redirects, and modern AI/ML exploits — in isolated, intentionally-vulnerable sandboxes. No setup, no hints in the labs. Capture the flag, then read the walkthrough to understand exactly why it worked.
Inject and execute script in another user's browser context.
✓ XSS Master earned
A search page echoes your query straight back into the HTML body. Get the page to run your script.
Your input lands inside an HTML attribute value. Break out and execute script.
Your input is placed inside an inline <script> string. Escape the string and run code.
Comments are saved and shown to everyone who views the page. Plant a persistent payload.
Client-side JavaScript writes location data into the page. No server reflection involved.
The app strips the <script> tag. Achieve execution without it.
A naive filter blocks some keywords. Slip past it.
Your input becomes the target of a link. Turn the link into code execution.
Angle brackets survive but the word "script" is blocked. Fire an event handler instead.
Your input is reflected into a JSON blob under a permissive policy. Achieve execution.
Manipulate database queries through unsanitised input.
✓ SQLi Master earned
A login form checks your credentials against the database. Log in as admin without the password.
A product lookup returns rows from the database. Extract data from another table.
The application leaks database errors. Use them to pull data out.
The page only tells you "found" or "not found". Ask the database yes/no questions.
No output, no errors, no difference — except how long the response takes.
Basic keyword filtering tries to block injection. Get around it.
Force an authenticated user to perform unintended actions.
✓ CSRF Master earned
A logged-in user can change their account email with no CSRF protection. Forge the request.
A sensitive action is performed over a simple GET request. Trigger it from off-site.
There is a CSRF token, but it is trivially guessable. Defeat it.
The server validates the Referer header — but poorly. Bypass the check.
Force the victim to log into an attacker-controlled account.
Tokens are validated but not tied to the user. Reuse one.
Make the server request internal resources on your behalf.
✓ SSRF Master earned
A URL-preview feature fetches any address you give it. Reach the internal admin panel.
The fetcher runs in the cloud. Retrieve the instance credentials.
localhost and 127.0.0.1 are blocked. Reach the internal service anyway.
The fetcher refuses internal hosts, but follows redirects. Chain them.
The response is hidden. Prove you reached the internal target.
Use the fetcher to discover what is listening on the internal host.
Abuse redirect logic to send victims to attacker-controlled sites.
✓ Redirect Master earned
A "continue" link redirects wherever a parameter points. Send a victim off-site.
The app checks that the target starts with the trusted host. Escape it.
The redirect happens client-side. Control the destination.
An allowlist compares against the wrong part of the URL. Exploit the parsing gap.
A redirect carries a token in the URL fragment. Steal it via the redirect.
Only *.uncrypt.io is allowed. Register a domain that slips through.
IDOR, injection, traversal, SSTI, JWT, uploads and logic flaws.
✓ Web Exploitation Master earned
Invoices are addressed by a numeric id. Read one that is not yours.
A network tool pings a host you supply. Run your own command.
A file viewer serves pages by name. Escape the directory.
A greeting template renders your name. Inject template syntax.
The session is a JWT. Forge an admin token.
An avatar uploader accepts your file. Get it treated as code.
A parser reads XML you submit. Make it read a local file.
A profile-update endpoint trusts your fields. Make yourself an admin.
Prompt injection, jailbreaks, data leakage and model evasion.
✓ AI Security Master earned
A support chatbot guards a secret. Talk it into revealing it.
The assistant summarises a document you provide. Hide instructions inside it.
Recover the hidden system prompt the assistant was configured with.
The model refuses restricted requests. Get it to comply anyway.
The app renders the model's answer as HTML. Turn a reply into XSS.
The agent can call tools. Trick it into calling one it should not.
The model has memorised sensitive records. Extract one.
The agent can fetch URLs. Point it at the internal metadata service.
A toxicity classifier blocks certain messages. Get a blocked message through.
A spam filter learns from user feedback. Poison it into misclassifying.
About the playground
Uncrypt Playground is a self-contained training ground. Each lab is an isolated, deliberately vulnerable mini-app. The platform around it — this site, your progress, the walkthroughs — is hardened and holds no real accounts or data, so there is nothing here worth stealing. Attack the labs; the playground itself stays out of scope.
Every lab hides a flag like UNCRYPT{…} that only appears once you actually pull off the
attack. Submit it on the lab page to mark it solved.
Finish every level in a category and you'll be prompted for a name and a downloadable badge — XSS Master, AI Security Master, and more. Share it and tag #UncryptPlayground.
Labs never spoil the solution. When you're ready, the Walkthroughs tab explains each bug end-to-end, with the payload and how to fix it.
Dangerous primitives (SSRF, command execution, file reads) run against bundled mocks — never the real host or network — so nothing you do here can escape the sandbox.
Progress is stored only in this browser. Reset my progress.
Category complete
Enter a name to put on your badge, then download it.