Esposizione del token nell'URL

Esposizione del token nell'URL

Un token di sessione in un URL è una credenziale in un file di registro.

Cos’è Esposizione del token nell'URL?

L'inserimento di un token di sessione in un URL fa trapelare un valore che autentica chiunque lo detenga. Gli URL arrivano nei registri di accesso del server e della CDN, nella cronologia del browser, negli unfurler di anteprima dei collegamenti e nell'intestazione Referer inviata a risorse di terze parti. Raccoglierai token live da un dump di referrer di analisi e leggerai i documenti privati ​​di una vittima senza alcuna password coinvolta. Quindi sposti il ​​token in un'intestazione Set-Cookie con HttpOnly , Secure e SameSite=Strict e invalidi ogni token già trapelato, perché la patch del codice non revoca ciò che gli aggressori hanno raccolto.

Cosa imparerai in Esposizione del token nell'URL

Esposizione del token nell'URL — Fasi della formazione

  1. Guarda un accesso

    Bob ha preso in giro Corveil, un'app per spazi di lavoro condivisi su cui le aziende eseguono i propri documenti. Prima di cercare un modo per entrare, vuole vedere esattamente cosa fa l'app quando qualcuno accede. Registra un account usa e getta in modo da poter accedere come se stesso e guardare ogni passaggio. Inizia dalla pagina di accesso.

  2. Accedi e segui il reindirizzamento

    Bob accede al suo account usa e getta, come farebbe qualsiasi utente. Il suo gestore di password riempie le credenziali salvate. Corveil lo registra e lo reindirizza al dashboard dell'area di lavoro. Il browser arriva alla pagina a cui lo ha inviato.

  3. Il token si trova nella barra degli indirizzi

    Bob è ora sulla sua dashboard e qualcosa gli salta all'occhio: l'accesso ha inserito il suo token di sessione direttamente nell'URL. Quella stringa è l'intera sessione di accesso. Non ha bisogno di rompere nulla. Ha solo bisogno dei posti in cui si accumulano questi URL.

  4. Raccogli i log dei referrer

    Bob non invia mai a Corveil una singola richiesta dannosa. Acquista invece un mese di registri dei referrer da un rivenditore di analisi, il tipo di fornitore il cui tag di tracciamento si trova sulla dashboard di Corveil e registra silenziosamente l'URL di riferimento completo di chiunque lo carichi. Apre un terminale accanto al browser e greps che alimenta i collegamenti di accesso alla dashboard.

  5. Riproduci una sessione rubata

    Bob sceglie una vittima dalla discarica, Maya Okafor, e prende il suo token di sessione. Punta l'API Tester verso l'API dei documenti di Corveil e inserisce il token rubato in un'intestazione Cookie, esattamente come farebbe il suo browser. Se il server lo accetta, sta leggendo lo spazio di lavoro privato di Maya senza nemmeno conoscere la sua password.

  6. La sua sessione è sua

    Il server ha preso il token rubato come un login autentico e ha risposto. Bob ora sta leggendo i documenti privati ​​di Maya da una semplice chiamata API, senza account personale e senza password.

  7. Verifica della conoscenza

    Bob può farlo per migliaia di utenti contemporaneamente, tutto dai log che ha acquistato. Sii preciso sul motivo per cui un token in un URL è molto peggiore dei normali dati in un URL.

  8. L'allarme sicurezza

    Possiedi il servizio di accesso di Corveil. Durante la notte, il rilevamento ha contrassegnato una serie di sessioni riprodotte da posizioni sconosciute e ti ha inviato via email il risultato. Leggi cosa ha catturato, quindi apri il codice.

  9. Apri il gestore di accesso

    Il gestore che completa l'accesso e reindirizza l'utente al dashboard è ciò che devi modificare. Aprilo e guarda come costruisce il reindirizzamento.

  10. Individua la perdita

    Il gestore crea una nuova sessione, quindi incolla il suo ID direttamente nella stringa di query della destinazione del reindirizzamento. Il browser segue quell'URL e da quel momento il token è ovunque vada l'indirizzo.

Copertura dei framework di sicurezza

OWASP Top 10

  • A07:2025 Authentication Failures
  • A09:2025 Security Logging and Alerting Failures
  • A07:2021 Identification and Authentication Failures
  • A09:2021 Security Logging and Monitoring Failures

CWE

  • CWE-598 Use of GET Request Method With Sensitive Query Strings
  • CWE-532 Insertion of Sensitive Information into Log File

MITRE ATT&CK

  • T1539 Steal Web Session Cookie

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security