ctf.nitaimaarek.com Tracks Leaderboard Log in Sign up

Tracks / Server-Side Web Attacks / Stack Trace Souvenir

Stack Trace Souvenir

Medium 30 pts

A malformed request made the app throw, and because debug mode was left on, the app returned its whole stack trace to the browser — file paths, framework versions, and a database connection string. Verbose errors are a goldmine. The flag is in the leaked configuration.

Hints

Open them in order. They nudge, they do not solve.

Hint 1

Read the trace like the attacker it was handed to. The interesting part is not the exception, it is the config below it.

Hint 2

A database URL has the shape scheme://user:password@host/db.

Hint 3

The password field in that connection string is the flag.

The artifact

HTTP/1.1 500 Internal Server Error
Content-Type: text/html

Traceback (most recent call last):
  File "/srv/app/views/report.py", line 88, in build
    rows = db.query(sql)
  File "/srv/app/db.py", line 31, in query
    conn = connect(settings.DATABASE_URL)
OperationalError: could not parse date '13/45/2026'

--- settings dump (DEBUG=True) ---
DATABASE_URL = postgres://reporting:nm{debug_mode_is_a_disclosure}@db.internal:5432/analytics
SECRET_KEY   = (redacted)
DEBUG        = True

Submit the flag

You can solve it now, but to save the solve you need an account. Sign up or log in — it takes ten seconds.