Capture the Flag
Your turn. Eight fake companies, eight real bugs. Break in, find the flag (it looks like RCC{...}), and move to the next one. Go in any order.
Before you start
Every app here runs right in your browser, so DevTools is the only tool you need. The flags are technically sitting
in the source code, but digging them out that way teaches you nothing. Hack the app.
lab_01
TrailMart
recon
An outdoor gear shop that left a few things lying around. The flag comes in 3 pieces.
lab_02
SecureBank
sql injection
Get into the admin account. You don't know the password, and you won't need it.
lab_03
GearShop
sql injection
The search box only shows products. Make it show you something else.
lab_04
InvoiceHub
access control
You're Jordan, and you can see your own invoices. Whose else can you see?
lab_05
SearchBuddy
xss
Craft a search link that runs JavaScript for whoever clicks it.
lab_06
Rowdy Guestbook
xss
Sign the guestbook with a message that fires for every visitor.
lab_07
NetPing
command injection
A ping tool with a shell behind it. There's a
flag.txt on the server.
lab_08
MemberZone
access control
The admin panel says no. Convince it you're someone else.
Need a nudge?
Try for a few minutes before opening these. Getting stuck is part of it.
lab_01 TrailMart
Everything from 03-recon: look at the raw page source, the JavaScript it loads, androbots.txt (the app lives at /labs/lab1/).lab_02 SecureBank
Watch the debug query while you type. What does a' in the username do? How do you make SQL ignore the rest of a line?lab_03 GearShop
Work out how many columns the query returns withORDER BY, then bolt on a UNION SELECT. SQLite keeps its table list in sqlite_master.lab_04 InvoiceHub
Network tab, then reload. Which request loads your invoice? Try other numbers in that URL.lab_05 SearchBuddy
Your search ends up in the URL and gets written to the page withinnerHTML. <script> tags won't run there, but event handlers will.lab_06 Rowdy Guestbook
The name field is handled safely. The message field isn't.lab_07 NetPing
Your input is pasted onto the end ofping -c 2 and run in a shell. How do you tack on a second command?lab_08 MemberZone
DevTools → Application → Cookies. If a value starts witheyJ, it's base64 JSON.