Web Apps Beginner

API recon: finding hidden parameters

An undocumented REST API backs the site. Discover the endpoints and a hidden parameter that unlocks a price override.

Scenario

The single-page frontend talks to /api/.... There is no published documentation, but the JavaScript bundle and predictable paths reveal most of it.

Your objective

Enumerate the API, find the parameter that lets you change an order total, and place an order for the leather jacket at a lower price. Solved when the discounted order is accepted.

Capture 2 flag(s) and record the exact technique for each step.

Getting started

  1. Proxy the app and list every /api/ request the frontend makes.
  2. Request /api, /api/, /openapi.json, /swagger.json, and read the JS bundle for path strings.
  3. For the order endpoint, diff the GET object fields against what the POST/PATCH accepts — look for price, discount, total.
  4. Send the hidden parameter and confirm the total changes.
  5. Submit the endpoint path and the parameter name as the two flags.

Connecting

Press Launch Lab to build your own instance, then use the How to connect panel — it shows the browser link as soon as the app is running. Hit Stop when you are done, or Relaunch / Reset for a clean copy.

Credentials: wiener:peter

Hints

Tip

Try an unexpected HTTP method (OPTIONS, PATCH) on a known path — the response often lists what is allowed.

How to connect

Connect to the lab VPN first

Lab machines sit on an isolated network with no public address. Connect to the VPN once — the same config works for every lab.

1 · Get your config

Download rooted-labs.ovpn

2 · Connect

Linux / macOS — from a terminal:

Windows / mobile — import the file into OpenVPN Connect, Tunnelblick, or the OpenVPN GUI.

3 · Reach the machine

Once connected, the address shown below (SSH command / lab link / RDP command) is reachable. Only lab traffic is routed through the VPN — your normal internet is untouched.

Step 2 — reach the machine

Challenge questions

0 / 2 correct
  1. Submit the initial flag you recovered while solving this lab.
  2. Which vulnerability class does this lab cover? (a few words)
Sign in to attempt
On this page

At a glance

Operating system
Web application
Connection
Browser / HTTP
Questions
0 / 2 solved
Launched by
0 hackers
Maintained by
Faustino Luettgen

Your machine

Status

Booting your machine — this takes about a minute. Connection details appear in the brief below when it's ready.

Ready — see How to connect below.

Provisioning failed. Hit Relaunch to try again.