🎯 Attack Simulator
Browser-based CTF challenges. No setup needed. Hack your way from Beginner to Elite. Earn XP and shareable badges.
66Challenges
0Completed
6,200Total XP
5Tiers
0% complete
🟢 Tier 1 — Beginner (9)
#1
The Hidden Comment
Every developer leaves traces. A careless programmer left credentials in the HTML source code. Can you find them?
#2
The Encoded Message
An intercepted transmission contains an encoded password. The encoding looks familiar... Can you decode it?
#3
Forbidden Paths
A web server is hiding something. The robots.txt file often reveals paths the admin wants hidden from search engines.
#4
Default Danger
A router admin panel is still using factory default credentials. Try the most common default username and password.
#5
URL Hacker
A page shows "Access Level: guest" based on a URL parameter ?role=guest. Change it to admin.
#6
EXIF Spy
A photo uploaded by the target contains hidden metadata. Use EXIF tools to extract GPS coordinates and a secret comment.
#7
Header Reader
The server is leaking a flag in a custom HTTP response header. Check the response headers using DevTools or curl.
#8
Sitemap Spy
A website has an XML sitemap that indexes a secret admin page not linked anywhere on the site. Find it.
#9
Leftover Notes
A developer left a notes.txt file on the web server. Browse to it and read the contents.
🔵 Tier 2 — Easy (9)
#10
The Invisible Input
A login form has a hidden field controlling access level. Modify it to gain admin privileges and reveal the flag.
#11
Caesar Must Die
A message was encrypted using an ancient cipher. The shift key is somewhere between 1 and 25. Decrypt it.
#12
Console Warrior
The page has a locked vault. The unlock function exists in JavaScript but is not connected to any button. Call it from the console.
#13
Agent Chameleon
An API endpoint only serves data to a specific user agent string. Spoof your user agent to match the required bot.
#14
Referral Faker
An admin page checks that the Referer header comes from the same site. Forge the header to bypass the check.
#15
Open Directory
The server has directory listing enabled. Browse the /uploads/ folder to find a config file with database credentials.
#16
Backup Bandit
The admin left a backup of the login page. Try common backup extensions like .bak, .old, .swp to find the source code.
#17
Error Explorer
The application shows verbose error messages in production. Trigger an error to leak the database connection string.
#18
Password Guesser
The admin account uses one of the top 10 most common passwords. Try them all on the login form.
🟡 Tier 3 — Medium (9)
#19
Cookie Monster
The server checks a cookie to determine if you are admin. Modify your cookies to escalate privileges.
#20
SQL Bypass
A login form is vulnerable to SQL injection. Bypass authentication without knowing the password.
#21
Hash Hunter
A database dump revealed password hashes. Identify the hash type and crack the weakest one to find the flag.
#22
Session Hijacker
The app does not regenerate session IDs after login. Fix a known session ID, trick the admin into using it, then hijack their session.
#23
Brute Forcer
The login page has no rate limiting. Use a wordlist to brute-force the 4-digit PIN protecting the admin account.
#24
Version Hunter
The server reveals its exact software versions via headers and error pages. Find all version numbers to build an exploit profile.
#25
Upload Bypass
A file upload only checks the file extension client-side. Bypass the JavaScript validation to upload a PHP web shell.
#26
Secret Cracker
A JWT token is signed with a weak secret. Crack it using a wordlist, then forge a token with admin privileges.
#27
Subdomain Scout
The main website is locked down, but a staging subdomain has no authentication. Enumerate subdomains to find it.
🟠 Tier 4 — Hard (20)
#28
Script Kiddie
A search form reflects user input without sanitization. Inject a script to trigger an alert and prove XSS is possible.
#29
Token Forger
A JWT token controls your access. Decode it, change your role to admin, and forge a new token.
#30
Path Finder
A file viewer restricts access to /public/. Escape the directory and read /etc/passwd to find the flag.
#31
Identity Thief
An API returns user data at /api/user/1001. Your account is 1001. Change the ID to access the admin account at ID 1.
#32
Shell Shock
A web tool runs ping on user-supplied input. The input is not sanitized. Inject an OS command to read /etc/flag.
#33
Server Spy
A URL preview feature fetches any URL you provide. Trick it into fetching an internal service at http://169.254.169.254/flag.
#34
Request Forger
The password change form has no CSRF token. Craft a request that changes the admin password when they visit your page.
#35
Redirect Rogue
A login page redirects users after auth via ?redirect= parameter. Abuse it to redirect to an attacker-controlled site.
#36
Entity Expander
An XML parser accepts user input without disabling external entities. Inject an XXE payload to read /etc/flag from the server.
#37
Object Breaker
A Java application deserializes user-supplied objects. Craft a malicious serialized object to achieve remote code execution.
#38
File Includer
A PHP page includes files based on a parameter: page.php?file=about. Exploit LFI to read sensitive files using PHP filters.
#39
Speed Demon
A bank transfer endpoint checks balance before deducting. Send multiple requests simultaneously to exploit the TOCTOU race condition.
#40
Cross Origin
An API returns Access-Control-Allow-Origin: * with credentials. Steal the admin token from a cross-origin page.
#41
Domain Hijacker
A CNAME record points to a decommissioned cloud service. Claim the endpoint and serve your own content on the subdomain.
#42
Key Hunter
A mobile app bundles its API key in the JavaScript source. Decompile the app and extract the hardcoded secret.
#43
Template Breaker
A web app uses Jinja2 templates and reflects user input into the template. Inject a Server-Side Template Injection payload.
#44
Blind Oracle
The page shows no SQL errors, but responses differ based on true/false conditions. Extract the admin password one character at a time.
#45
DOM Manipulator
The page reads from location.hash and inserts it into the DOM via innerHTML. Craft a URL fragment that executes JavaScript.
#46
Auth Bypass
The admin panel checks authentication client-side in JavaScript. The API behind it has no auth. Access the admin API directly.
#47
Mass Assigner
The user profile update API accepts any field. Add "role":"admin" to your update request to escalate privileges.
🔴 Tier 5 — Elite (19)
#48
Header Hacker
An API endpoint checks the X-Admin-Key header. Intercept the request and add the correct header to access the admin panel.
#49
Binary Brain
An encoded message was intercepted in binary. Decode the binary to ASCII, then decode the result from hex to reveal the flag.
#50
Root Access
You have shell access as a low-privilege user. Find the SUID binary, exploit it, and read /root/flag.txt.
#51
Prototype Poisoner
A Node.js app deep-merges user input into objects. Pollute Object.prototype to inject isAdmin=true on all objects.
#52
Socket Snatcher
A WebSocket chat server has no origin validation. Connect from a malicious page and intercept admin messages.
#53
OAuth Outlaw
An OAuth implementation does not validate the redirect_uri parameter. Steal the authorization code by redirecting to your server.
#54
Time Bandit
The API key comparison uses string equality which returns early on mismatch. Extract the key by measuring response times.
#55
Packet Detective
A packet capture contains an HTTP login. Analyze the PCAP data to extract the credentials transmitted in cleartext.
#56
Hidden Pixels
A flag is hidden in the LSB (least significant bits) of an image. Extract the hidden message using steganography techniques.
#57
DNS Smuggler
Malware is exfiltrating data via DNS queries. Analyze the DNS logs to decode the stolen data hidden in subdomain labels.
#58
Dependency Doom
A popular npm package was compromised. Analyze the malicious code injected in a postinstall script to find the C2 domain.
#59
Key Injector
A JWT uses a "kid" header parameter to select the signing key from a file. Inject a path traversal to use /dev/null as the key.
#60
Schema Leaker
A GraphQL API has introspection enabled in production. Query the schema to discover hidden admin mutations and extract the flag.
#61
NoSQL Ninja
A MongoDB login uses $ne (not equal) operator vulnerability. Bypass authentication by injecting query operators.
#62
Firewall Evader
A WAF blocks common XSS patterns. Find a bypass using encoding, case variation, or alternative event handlers.
#63
Container Breakout
You have root in a Docker container. The Docker socket is mounted inside. Escape to the host by creating a privileged container.
#64
Golden Ticket
Extract a Kerberos TGS ticket for a service account, then crack its password offline using hashcat.
#65
Firmware Hacker
An IoT device firmware image contains hardcoded credentials. Extract the filesystem and find the default root password.
#66
Ransom Reverser
Ransomware encrypted files using a weak key derivation. The key is derived from the system time at encryption. Reverse the process.
Know someone who would enjoy this? Challenge them.
Keep going
Make it count.
Join free to earn XP for what you read and solve, keep a streak, and track your progress.
Join free