All notes
Offensive Security · · 1 min read
A box that took four hours longer than it should have
In the spirit of documenting dead ends honestly: this one was supposed to be quick. A web app, a login form, and — I assumed — the usual suspects. It was not the usual suspects.
The wrong turns, in order
- Tried the obvious SQLi payloads on the login form. Nothing. The form was, annoyingly, actually sanitized.
- Spent an hour on the file upload endpoint assuming it was the intended path. It was a red herring with a suspiciously convenient name.
- Finally ran a proper directory brute force instead of guessing based on "vibes," and found a forgotten debug endpoint that dumped stack traces — including a hardcoded service credential.
The actual lesson
The foothold was never clever. It was a debug route someone forgot to gate behind an environment check. Every fancy payload I tried was procrastination dressed up as technique.
GET /internal/debug/status HTTP/1.1
Host: target
Filed under: run the boring enumeration first. My ego keeps forgetting this rule; my notes are here to remind it.