TeleLeak
metactf
Task: a public Spring Boot site blocks new registration but exposes /actuator/heapdump, leaking live authentication material. Solution: recover the admin SHA-256 password value from memory and submit that hash directly to the login form to access /admin/dashboard.
$ ls tags/ techniques/
TeleLeak — MetaCTF
Summary
The application exposed Spring Boot actuator endpoints to unauthenticated users. The heap dump contained the admin credential material, and because the login form submitted a SHA-256 digest directly, the leaked hash was enough to sign in and read the flag from the admin dashboard.
Description
Goal: gain access to an existing account and recover the flag.
Target used: https://teleleak.umbccd.net.
Recon
- The site used a Java / Spring Boot stack, visible from
JSESSIONID, CSRF handling, and the login flow. /loginhashed the password client-side with SHA-256 and sent the hex digest in thepasswordfield./registerexisted, but submitting there redirected to/regLimit.htmlwith the hint:Maybe you can find a way to get into an existing account ;)/actuatorwas publicly accessible and exposed/actuator/heapdump.
Those signs strongly suggested a memory disclosure path instead of normal registration or password guessing.
Analysis
The key issue was the public heap dump. A Spring Boot heap dump can contain live objects, request state, secrets, session data, and cached credentials. In this case, the dump leaked reusable admin login material.
The login implementation made the exposure worse: the browser did not send the plaintext password. It sent a SHA-256 hex digest as the actual password value. That means the server accepted the digest itself as the login secret, so a leaked hash could be replayed directly.
Recovered credential material:
- Username:
admin - Password field value:
f374e70b2d71eb7188c0eda0b6a13d47ca5abd681118de48354f003d8af534f5
Exploitation
...
Permission denied (requires auth)
Sign in to read this free writeup
This writeup is free — just sign in with GitHub to read it.
$ssh [email protected]