SECURITY LAB / 001

Find the sink.
Break the assumption.

Three small exercises for seeing how untrusted data crosses a browser context. Read the source, try the input, then open the answer.

isolated demos · no login · no tracking
!

Intentionally vulnerable. These pages are teaching examples. Run them locally or on your own lab hostname only. Do not copy the demo patterns into production code.

THE WORKBENCH

Choose a context

3 exercises / beginner → intermediate

01

HTML context

Reflected XSS

Trace a query parameter from the URL into an HTML sink.

start exercise
02

URL context

Anchor link

See why putting user input in an href needs a scheme check.

start exercise
03

JavaScript context

JS string injection

Watch a value escape its string and become executable code.

start exercise

THE LOOP

01

Read

Look for the source and the sink before touching the payload.

02

Try

Change the URL input and observe what the browser does.

03

Fix

Open the answer and compare context-aware defenses.