All Projects

ID Status Summary Opened by
 279 Closed Reusable Login Token in URL Enables Persistent Unauthor ...TrffnSec Task Description

When logging into https://admin.alwaysdata.com, the application issues a 302 redirect containing sensitive authentication parameters (user_id and token) directly in the URL.

This login URL can be reused multiple times, from any browser, any device, and any location, even after the user logs out. As a result, anyone in possession of this URL can gain full access to the victim’s account without credentials.

Affected Endpoint

https://admin.alwaysdata.com/login/?user_id={USER_ID}&token={TOKEN}

Vulnerability Class

  • CWE-287 – Improper Authentication
  • CWE-613 – Insufficient Session Expiration
  • CWE-598 – Information Exposure Through Query Strings
  • OWASP Top 10 (2021) – A02: Broken Authentication

Steps to Reproduce

  • Step 1: Log in normally

Navigate to:

https://admin.alwaysdata.com/

Authenticate with valid credentials.

  • Step 2: Capture the redirect response

Upon successful login, observe the HTTP response:

HTTP/2 302 Found
Location: /login/?user_id=425062&token=1767520125-e3a2cf1655e9da2b0a3f
  • Step 3: Use the login URL directly

Open the redirected URL manually:

https://admin.alwaysdata.com/login/?user_id=425062&token=1767520125-e3a2cf1655e9da2b0a3f

✅ You are logged into the account without entering credentials.

  • Step 4: Log out

Log out from the account normally.

  • Step 5: Replay the same URL
  • Open an incognito/private window
  • Or use a different browser
  • Or access from a different machine

Paste the same URL again:

https://admin.alwaysdata.com/login/?user_id=425062&token=1767520125-e3a2cf1655e9da2b0a3f

You are logged in again, successfully.

Expected Behavior

Login tokens should be:

  • Single-use
  • Short-lived
  • Invalidated on logout
  • Authentication tokens should never be exposed in URLs
  • URLs should not grant authentication without additional verification

Actual Behavior

Login token:

  • Is reusable
  • Remains valid after logout
  • Works across browsers and sessions

Token is exposed in:

  • Browser history
  • Logs
  • Referrer headers
  • Proxies
  • Screenshots / shared links

Impact

Full account takeover if the URL is leaked

  • No password required
  • No session binding
  • No device or IP restriction

High risk of accidental exposure via:

  • Browser history
  • Support logs
  • Analytics
  • Shared screenshots

This is effectively a permanent authentication backdoor as long as the token remains valid.

Severity

High

  • Authentication bypass
  • Persistent session replay
  • Full account access
  • Affects confidentiality and integrity

Do not place authentication tokens in URLs

Replace with:

  • Secure, HTTP-only cookies

Ensure login tokens are:

  • Single-use
  • Short-lived
  • Invalidated on logout

Bind tokens to:

  • Session
  • Device
  • IP (optional hardening)

Rotate tokens immediately after use

Showing tasks 1 - 1 of 1 Page 1 of 1

Available keyboard shortcuts

Tasklist

Task Details

Task Editing