Challenge Track 01 · Web Security

Break the Web App, Then Learn Why It Broke

These challenges put you in front of a deliberately vulnerable web application. Read the page, poke at the inputs, and find the flag the developers left exposed.

New to this topic? Read the Web Security workshop first →

Challenges

4

Points Available

350

Difficulty

Easy → Hard

Flag Format

CYS401{...}

Challenges

Capture the Flags

Read the scenario, solve the task, then submit the flag you found. Hints are there if you need them — every correct answer ends with an explanation.

Your Progress

0 / 4

0 pts

WEB-01 Easy 50 pts Unsolved

Hidden in Plain Sight

The login page for a small company portal looks ordinary. A developer left a note to themselves somewhere the browser does not display, and it contains the flag.

Lab

A simulated staff portal. Inspect it the way an attacker would.

A simulated staff portal with a secret left in the page source. Open it and inspect the way an attacker would.

Open the lab →
Show hint

Nothing here needs an exploit. View the page source, then check the files a site exposes by habit — robots.txt and old backups.

WEB-02 Easy 75 pts Unsolved

Guest Access

You log in with a guest account and reach a limited dashboard. The application decides what you may see from a value it stores in your browser.

Lab

A simulated guest dashboard that trusts a value stored in your browser.

A simulated dashboard that decides what you may see from a value kept in your browser.

Open the lab →
Show hint

Open your browser’s storage inspector and look at the cookies for the site. One of them describes who the application thinks you are.

WEB-03 Medium 100 pts Unsolved

The Quotation Mark

The staff login form builds its database query by pasting your username straight into a string. Get in without knowing a password.

Lab

A simulated staff login whose query is built by pasting in your input.

A simulated staff login whose query is built by pasting your input straight in.

Open the lab →
Show hint

Think about what a single quote does to a query that was not expecting one, and what happens when the condition after it is always true.

WEB-04 Hard 125 pts Unsolved

Leaky Endpoint

The portal loads your profile from an API call that names your account number. Another user’s record holds the flag.

Lab

A simulated profile page that loads records by account number.

A simulated profile page that loads records by account number.

Open the lab →
Show hint

Watch the network requests the page makes while it loads your profile, then ask what stops you requesting a different identifier.

Flags are checked on the server: the page never holds the answers, and your solves are saved to your account and counted on the scoreboard.

Flags captured. Ready for the next track?

Keep going, or check how many flags you have captured so far.