ctf.nitaimaarek.com Tracks Leaderboard Log in Sign up

Tracks / Server-Side Web Attacks / Reading an HTTP exchange like an attacker

Reading an HTTP exchange like an attacker

5 min read

An HTTP message is a request line, headers, a blank line, then an optional body. The interesting security state almost always rides in the headers or the body, not the URL — which is exactly why you have to look past the address bar.

POST /api/login HTTP/1.1        <- method + path + version
Host: shop.example                <- which vhost
Cookie: session=eyJ1Ijoi...       <- state the browser carries back every time
Content-Type: application/json
                                  <- blank line ends the headers
{"user":"guest","pass":"..."}     <- body

Three habits find most bugs:

Every lab in this track is solvable with exactly these three habits and no tools beyond a base64 decoder.