Quel outil web choisir
| Ce que vous avez | Aspect | Outil |
|---|---|---|
| Un JSON Web Token | eyJhbGci….eyJzdWIi….sig | Décodeur JWT, encodeur JWT |
| Un en-tête Authorization | Basic dXNlcjpwYXNz | Décodeur Basic Auth, en-tête Basic Auth |
Du Base64 avec - et _, sans = | SGVsbG8_d29ybGQ | Décodeur Base64URL, encodeur Base64URL |
| Passer d’un alphabet à l’autre | Base64 en Base64URL, Base64URL en Base64 | |
| Une data URI | data:image/png;base64,… | Analyseur de data URI, générateur de data URI |
| Un message SAML | SAMLResponse=PHNhbWxwOl… | Décodeur SAML |
| Un Secret Kubernetes | valeurs data: dans du YAML | Décodeur de Secret Kubernetes |
| Un secret de pull d’images | eyJhdXRocyI6… | Décodeur .dockerconfigjson |
| Du Base64 compressé | H4sI… ou eJ… | Décodeur Base64 gzip ; pour en créer : gzip, zlib |
| Un document JSON avec des champs encodés | "body": "eyJ…" | Base64 dans du JSON |
| Une commande PowerShell encodée | powershell -enc JABzAD0A… | PowerShell -EncodedCommand |
| La source brute d’un e-mail | Content-Transfer-Encoding: base64 | Décodeur d’e-mails, Quoted-printable |
| Du texte encodé en URL | q=caf%C3%A9%20menu | Décoder une URL, encoder une URL |
| Du texte échappé en HTML | <p>Café</p> | Entités HTML |
Des couches sur des couches
Les payloads web sont souvent enveloppés plusieurs fois, et chaque couche demande son propre outil. Quelques empilements courants :
- Secrets de pull : du Base64 Kubernetes autour d’un JSON Docker autour d’un
user:passworden Base64. Le décodeur .dockerconfigjson défait les trois. - SAML Redirect : XML, raw deflate, Base64, encodage d’URL. Le décodeur SAML remonte toute la chaîne.
- Releases Helm : JSON, gzip, Base64, puis à nouveau du Base64 Kubernetes.
- URL de redirection : une URL encodée dans un paramètre de requête, parfois encodée deux fois. L’option Décoder plusieurs fois du décodeur d’URL s’en charge.
- Cookies de session Flask : du JSON, éventuellement compressé en zlib (signalé par un
.en tête), du Base64URL, puis un horodatage et une signature, reliés par des points.
Quand un résultat décodé a encore l’air encodé, comparez ses premiers caractères au tableau ci-dessus et continuez avec l’outil correspondant.
Encoder n’est pas protéger
Aucun de ces formats ne cache quoi que ce soit. Le payload d’un JWT, un en-tête Basic Auth, un Secret Kubernetes et une assertion SAML peuvent tous être lus par quiconque les voit ; seule une signature ou un vrai chiffrement apporte de la sécurité. C’est justement ce qui rend ces décodeurs utiles, et c’est aussi une bonne raison de tenir ces chaînes à l’écart des logs, des captures d’écran et des tickets. Plus de détails dans encodage et chiffrement.
Pour les certificats, les clés SSH et les hachages, voir clés et certificats. Pour les chaînes simples et les jeux de caractères, les outils texte.
FAQ
Comment savoir quel type de chaîne encodée j'ai sous les yeux ?
À sa forme : trois parties séparées par des points commençant par eyJ, c’est un JWT ; % suivi de deux chiffres hex, de l’encodage d’URL ; &, de l’échappement HTML ; H4sI, du gzip ; et des - ou _ dans du Base64 signalent du Base64URL. Le tableau de cette page liste d’autres motifs et l’outil correspondant à chacun.
Ces outils sont-ils sûrs pour des jetons et des secrets de production ?
Ils fonctionnent dans votre navigateur, et la Content Security Policy de la page bloque toute requête réseau hormis le comptage des pages vues de Cloudflare : les données collées ne peuvent être envoyées nulle part. Manipulez tout de même les jetons actifs avec prudence et renouvelez tout secret exposé ailleurs.
Quelle différence entre l'encodage d'URL et le Base64URL ?
L’encodage d’URL échappe des caractères isolés sous la forme %XX et garde le reste lisible. Le Base64URL transforme des octets arbitraires en lettres, chiffres, - et _. Utilisez l’encodage d’URL pour des valeurs texte, le Base64URL pour des données binaires et des jetons.