Headers tell tales
The orders application always answers with HTTP headers, and they often say more than they should. See what the server declares on the main page: a suspicious header hides the way to a restricted page.
Lab 5 of 6 in the Recon & Scanning path. If you get stuck you have 3 hints, from the vaguest to the most precise: they cost 0, 40 and 150 XP.
What you learn
Objectives complete themselves while you work in the terminal; each one is worth experience points:
- Scan the orders host (80 XP)
- Read the headers of the main page (100 XP)
- Decode the suspicious value (120 XP)
- Open the restricted page (150 XP)
Topics: recon, http, headers, base64.
Commands you will use
The terminal is simulated and understands about forty Linux commands. In this lab you will mostly need these:
nmap: discovers the live hosts of a network and the open ports of a machine, with services and versions. Defenders use it to compare the real network with the inventory.curl: makes HTTP requests from the terminal and shows the server’s raw answer, headers included.echo: prints some text or the value of a variable, such as $HOME.base64: encodes and decodes Base64, the format that turns bytes into text. It protects nothing: it can be undone without a key.|: the vertical bar | chains commands: the output of the first becomes the input of the next, so small tools form a complete analysis.
The simulated environment
The target is an invented host on a simulated private network: you can only reach it from the game terminal.
The target exposes these services:
- SSH: encrypted remote command-line access; it is protected with keys instead of passwords and without direct root login.
- Web (HTTP): a web server with pages, APIs or admin panels: the most exposed part of almost every organisation.
The defensive lesson
Once the lab is solved, the write-up explains what went wrong and how to protect yourself:
Headers such as Server and X-Powered-By announce software and versions (which attackers look up in vulnerability lists right away), and debug headers left in production can leak paths and tokens. Base64 is an encoding, not encryption: hiding something in it protects nothing. Defense: ServerTokens Prod / server_tokens off, remove X-Powered-By (expose_php Off), no debug headers in production, and protect restricted pages with real server-side authentication instead of "secret" addresses.
Before and after this lab
To unlock it you must have solved:
- Who's on the network? (Recon & Scanning, medium)
- Base64 is not a secret (Encodings & secrets, easy)
After this lab you can move on to:
- Full reconnaissance (Recon & Scanning, hard)
The Recon & Scanning path
Recon & Scanning is reconnaissance: before defending a network, or testing it with permission, you need to know what is in it. You learn to discover live hosts, list ports and services, read the banners services greet you with, and query DNS and HTTP headers. Every lab also shows the defender’s point of view: an up-to-date asset inventory, minimal banners, internal DNS kept apart from public DNS and nothing forgotten left running.