CTF Challenges

Hack. Learn. Dominate.

Real-world challenges across web security, cryptography, forensics, reversing and network hacking. From beginner labs to expert CTF machines.

13

Challenges

6

Categories

5

Challenge Formats

100%

Free to Start

5 Challenge Formats
13 challenges
Beginner
osint

OSINT Email Hunt

Find information about the domain `cyberlab.local`. **Your mission:** 1. Perform WHOIS lookup 2. Check DNS records 3. Find the admin email format The flag is the DNS record type that often contains SPF information. **Flag format:** CYBERLAB{<record_type>_record}

10pts423 solves
Beginner
cryptography

Decode the Message

Intercepted communication contains this encoded message: ``` 48 65 6c 6c 6f 20 48 61 63 6b 65 72 21 20 46 6c 61 67 3a 20 43 59 42 45 52 4c 41 42 7b 68 33 78 5f 64 33 63 30 64 33 64 7d ``` **Your mission:** Decode the hex string to find the flag. **Tip:** Each pair of hex characters represents one ASCII character.

10pts399 solves
Intermediate
web security

SQL Injection Login Bypass

The login page at `vuln.cyberlab.local/login` is vulnerable to SQL injection. **Your mission:** 1. Bypass the login without knowing credentials 2. Access the admin dashboard 3. Find the flag displayed after successful login **Remember the classic:** ``` Username: admin'-- Password: anything ``` Think about how SQL queries work and how to manipulate them.

10pts234 solves
Intermediate
penetration testing

Reverse Shell Challenge

You've found a command injection vulnerability on a server. **Question:** What netcat command would you use to set up a listener on port 4444 to catch a reverse shell? The flag is the exact netcat command (common format). **Flag format:** CYBERLAB{nc_<options>_<port>} **Note:** This is educational - never use against systems without permission!

10pts268 solves
Intermediate
web security

JWT Token Tampering

You intercepted a JWT token: ``` eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiZ3Vlc3QiLCJyb2xlIjoidXNlciJ9.signature ``` **Your mission:** 1. Decode the payload (middle part) 2. Identify what would need to change to become admin The flag is what the 'role' value should be changed to. **Flag format:** CYBERLAB{<target_role>}

10pts267 solves
Beginner
web security

Web Directory Discovery

The web server at `web.cyberlab.local` has a hidden admin panel. **Your mission:** 1. Use directory enumeration to find hidden paths 2. Locate the admin panel 3. Find the flag in the admin page **Tools to use:** dirb, gobuster, or nikto Remember: Common paths include /admin, /administrator, /login, /backup, etc.

10pts389 solves
Beginner
penetration testing

Privilege Escalation Path

You've gained a shell on a Linux system as a low-privilege user. **Question:** What command would you run first to check for sudo privileges? The flag is that command. **Flag format:** CYBERLAB{<command>}

10pts534 solves
Beginner
forensics

Hidden in Plain Sight

A file was found on a suspect's computer. The investigator says there might be something hidden inside. **File location:** `/challenges/stego/hidden.jpg` Or use this simulated scenario: The flag is hidden using ROT13 encoding in this text: ``` PLOOREYN0{e0g13_vf_whfg_n_fuvsg} ``` **Note:** ROT13 shifts each letter by 13 positions in the alphabet. Find and submit the hidden flag.

10pts287 solves
Intermediate
cryptography

Crack the Hash

During a penetration test, you found a password hash in the database: ``` 5f4dcc3b5aa765d61d8327deb882cf99 ``` **Your mission:** 1. Identify the hash type 2. Crack the hash 3. The cracked password is part of the flag **Flag format:** CYBERLAB{cracked_<password>} Use tools like hashcat, john, or online hash databases.

10pts313 solves
Beginner
cryptography

Base64 Basics

Welcome to your first challenge! Someone encoded a secret message using Base64. Can you decode it? **Encoded message:** ``` Q1lCRVJMQUJ7YjRzM182NF9pc19ub3RfM25jcnlwdDEwbn0= ``` **Hint:** Base64 is an encoding scheme, not encryption. Use the `base64` command or online tools to decode it. Submit the decoded flag in the format: CYBERLAB{...}

10pts344 solves
Beginner
network security

Port Scanner Challenge

Our training server `scanme.cyberlab.local` has several services running. **Your mission:** 1. Scan the server to find all open ports 2. Find the service running on port 8080 3. The flag is the banner/version of that service Use nmap to discover the services and their versions. **Tip:** Use `-sV` for version detection. Submit the flag you find.

10pts456 solves
Intermediate
web security

XSS Cookie Stealer

The comment section at `vuln.cyberlab.local/blog` is vulnerable to stored XSS. **Your mission:** 1. Craft an XSS payload that would steal cookies 2. Submit the payload type as the flag **Note:** Don't actually steal cookies - just identify the vulnerability! The flag is the type of XSS attack: CYBERLAB{<type>_xss} Types: reflected, stored, dom

10pts198 solves
Start Hacking Today

Your First Challenge Awaits

Create a free account and solve Foundation challenges immediately — no credit card required.