Decodificatore JWT

Incolla un JWT qui sotto per decodificare e ispezionare header, payload e firma. Nota: questo strumento non verifica le firme. Tutta l’elaborazione avviene localmente nel tuo browser.

Copiato!

Informazioni sul token

Cos'è un JWT?

Un JSON Web Token (JWT) è un formato di token compatto e sicuro per gli URL, utilizzato per trasmettere informazioni in modo sicuro tra le parti. È composto da tre parti separate da punti (.):

  1. Header - algoritmo e tipo di token (es. HS256, RS256)
  2. Payload - claims/dati (es. sub, iat, exp)
  3. Firma - verifica che il token non sia stato manomesso

Decodificare un token non dimostra nulla su di esso, perché intestazione e payload sono solo base64url e chiunque può riscriverli. Conta la firma: incolla il segreto condiviso e la pagina la verifica qui, nel tuo browser, per HS256, HS384 e HS512. Gli altri algoritmi firmano con una chiave privata e verificano con una pubblica, e una pagina come questa non dovrebbe chiederti di incollarla. Gli orari appaiono sul tuo orologio, con la distanza scritta, perché di solito è proprio la scadenza che cerchi.

Nota: Questo strumento decodifica solamente il token. Non verifica la firma.

Come lo stai davvero conservando?

Hash, token e password valgono quanto il codice che li circonda: un fattore di costo lasciato al valore predefinito, un token di cui nessuno controlla la scadenza, un segreto finito nel repository. Analizziamo e irrobustiamo le applicazioni, e ti diciamo cosa raggiunge per primo un attaccante.

Prenota una revisione di sicurezza

Domande frequenti

Decodificare un token significa che è valido?
No, ed è proprio l'errore da evitare. Intestazione e payload sono solo base64url, quindi chiunque può riscriverli e produrre qualcosa che si decodifica benissimo. Solo la firma dice che il token viene da chi dichiara. Incolla il segreto e questa pagina la controlla.
Quali algoritmi potete verificare qui?
HS256, HS384 e HS512, che firmano con un segreto condiviso. I token RS, ES e PS firmano con una chiave privata e si verificano con una pubblica, e incollare l'una o l'altra in una pagina web è un'abitudine da non prendere. Per quelli, verifica nel tuo codice con il set di chiavi pubblicato.
Che cosa significa un token con alg uguale a none?
Che non porta alcuna firma utilizzabile, quindi il payload può dire qualsiasi cosa. Esiste nella specifica per token protetti in altro modo, ed è un attacco ben noto quando una libreria lo accetta di default. Se lo vedi su un token vero, trattalo come input non attendibile.
È sicuro incollare qui un token reale?
La pagina non carica mai nulla, quindi niente lascia il tuo browser. Detto questo, un token attivo è una credenziale, e il campo del segreto è escluso di proposito dalle impostazioni salvate e dalla query, così da non essere memorizzato o condiviso per sbaglio. Revoca tutto ciò che incolli in un posto che non controlli.
Perché la scadenza mostra una differenza di tempo?
Perché di solito è quella la domanda. Un token scaduto quattro minuti fa e uno che scade fra quattro ore come numeri si somigliano quasi, quindi la pagina li mostra entrambi rispetto al tuo orologio e scrive la distanza. Gli orari si possono mostrare in UTC se stai confrontando con un log del server.