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
- Riconoscere che qualsiasi valore che un utente malintenzionato potrebbe riprodurre per autenticarsi come utente (token di sessione, chiave API, token di reimpostazione, parametro URL firmato) appartiene a un cookie o a un'intestazione, mai a un URL
- Comprendere la differenza nella superficie di perdita tra URL (registrati, inoltrati, registrati da più parti) e cookie (solo canale browser-server)
- Applica il modello di cookie HttpOnly + Secure + SameSite=Strict per token di sessione e autenticatori equivalenti
- Invalidare ogni token di sessione già trapelato nei log e nei referrer, poiché la correzione del codice non revoca retroattivamente i token che gli aggressori hanno già raccolto
- Controlla ogni generatore di URL (accesso con collegamento magico, URL di condivisione firmati, token di download, URL di reimpostazione della password, callback OAuth) per gli autenticatori che dovrebbero essere spostati dall'URL
Esposizione del token nell'URL — Fasi della formazione
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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