Secret in Plain Log
A09 · ≈ 25 min · 0 solves
Explore the application as a real target: map the exposed functionality, inspect requests and responses, build a working exploit, and recover the rotating flag. If you get stuck, the verified official solution is available below as an optional spoiler.
Rules of engagement
Stay inside the generated lab URL. Use only the synthetic accounts and data in this instance. The main SecOne4all site and external systems are out of scope.
Challenge brief
What counts as a valid solve
Recover the flag from logs that captured credentials and authorization headers.
POST /session, then GET /session.
demonstrate the missing, forged, suppressed, or unprotected operational evidence in the live timeline; the successful workflow returns the current rotating flag.
Work only inside your generated lab URL and submit the flag within 25 minutes.
Official solution
Contains the complete exploitation path. Open it only when you want the spoiler.
Reveal official solutionStep-by-step · verified against the live lab
Official solution · A09 · Secret in Plain Log
Objective
Recover the flag from logs that captured credentials and authorization headers.
Steps
- Start the isolated service and open its operational feature.
- Perform the action that should create, protect, correlate, retain, or alert on a security event.
- Exercise the logging gap or tampering path: POST any password to
/session, then GET/session; the authorization log contains the rotating flag. - Verify the changed live timeline or alert state returns the rotating flag.
- Submit the flag before stopping the lab.
Expected proof
A successful response for secret-overlogging returns the instance-specific rotating flag. The flag is valid only for the current player and running instance.
Safety boundary
Use only the generated lab URL. No request to the main site, another user, or an external service is part of this solution.