🛡 CYBERSCOUT CTF

Cybersecurity Merit Badge — Capture The Flag Challenge

🤝 Team Name:

Choose Your Mission

Complete challenges to earn points. Find the FLAG in each mission and submit it. Work as a team!

EASY

🔒 Mission 1: Password Fortress

100 points

How strong is YOUR password?

MEDIUM

📨 Mission 2: Phishing Detective

150 points

Can you tell fake emails from real ones?

MEDIUM

🔐 Mission 3: Code Breaker

200 points

Crack a secret coded message!

MEDIUM

🔍 Mission 4: Source Code Spy

150 points

Find the hidden flag in a website!

HARD

🍪 Mission 5: Cookie Monster

200 points

Hack a cookie to become admin!

HARD

💣 Mission 6: SQL Injection

250 points

Break into a login system!

🔒 Mission 1: Password Fortress

Hackers can try 10 billion passwords per second. How long would yours last?

📚 How to build a strong password:

Use a passphrase — combine 4+ random words with numbers and symbols.
Example: PurpleTiger$Eats42Tacos!
Avoid: names, birthdays, dictionary words, and anything about yourself.

🎯 Goal: Create a password that scores 5/5 on the strength meter!

📨 Mission 2: Phishing Detective

Hackers send fake emails to steal your info. Spot ALL the fakes!

Loading emails...

📚 Red Flags to Watch For:

Misspelled domains • Urgency/threats • Generic greetings • Suspicious links • Too-good-to-be-true offers • Requesting sensitive info • Unexpected attachments

🎯 Goal: Correctly identify ALL 6 emails to earn the flag!

🔐 Mission 3: Code Breaker

The Caesar Cipher shifts each letter by a fixed amount. Julius Caesar used this to send secret military messages 2000 years ago!

📤 Encrypt / Decrypt Tool

Result appears here...

🔎 Crack This Message!

Click "New Challenge" to get an encrypted message!

Try all 25 shifts using the Brute Force tool below to find the original message!

📚 Why Caesar Cipher is Weak:

There are only 25 possible keys, so a computer can try ALL of them instantly. This is called a brute-force attack. Modern encryption (AES-256) has 2256 possible keys — more than atoms in the universe!

🎯 Goal: Use Brute Force to crack a challenge message and the flag is yours!

🔍 Mission 4: Source Code Spy

Developers sometimes leave secrets in their code. Find the hidden flag!

🌐 Open CyberBank Website (new tab)

📚 How to Inspect Source Code:

View Source: Right-click → "View Page Source" or press Ctrl+U (Windows) / Cmd+Option+U (Mac)
Developer Tools: Press F12 or Ctrl+Shift+I to open DevTools
Console: Check the Console tab for debug messages

Look for: HTML comments (<!-- -->), hidden elements (display:none), CSS comments, console.log messages, and invisible text.

🎯 The flag is split into 3 parts hidden in the page. Combine them!

🍪 Mission 5: Cookie Monster

Websites use cookies to remember you. What if you change yours to "admin"?

CyberBank Session Simulator

GET /api/mission5/login?user=guest

📚 What Are Cookies?

Cookies are small pieces of data stored in your browser that websites use to remember you. A session cookie tells the server who you are. If the server blindly trusts the cookie value without verification, an attacker can change it to impersonate someone else. This is called privilege escalation.

Defense: Servers should use signed/encrypted session tokens, never trust client-side data directly, and always verify permissions server-side.

🎯 Goal: Change the cookie to get special access!

Hint: What user role would give you special access?

💣 Mission 6: SQL Injection Attack

Hackers type special code into login forms to bypass security. Try it yourself!

🔴 Vulnerable Login

This form has NO protection against SQL injection.

🟢 Secure Login

This form uses parameterized queries — the defense.

📚 How SQL Injection Works:

Normal query: SELECT * FROM users WHERE username='scout' AND password='pass123'
Injected: SELECT * FROM users WHERE username='' OR 1=1 --' AND password='anything'

The ' OR 1=1 -- breaks out of the username string, makes the condition always TRUE, and comments out the rest. The database returns ALL users!

Defense: Use parameterized queries (prepared statements) that treat user input as DATA, never as code. Also validate and sanitize all inputs.

🏆 Scoreboard

RankTeamScoreSolved
No teams yet. Join a team to get started!