Exposition du jeton dans l'URL

Exposition du jeton dans l'URL

Un jeton de session dans une URL est un identifiant dans un fichier journal.

Qu'est-ce que Exposition du jeton dans l'URL?

Placer un jeton de session dans une URL entraîne une fuite d'une valeur qui authentifie celui qui le détient. Les URL atterrissent dans les journaux d'accès au serveur et au CDN, dans l'historique du navigateur, dans les déployeurs d'aperçu des liens et dans l'en-tête Referer envoyé aux actifs tiers. Vous récolterez des jetons en direct à partir d’un vidage de référent analytique et lirez les documents privés d’une victime sans mot de passe impliqué. Ensuite, vous déplacez le jeton dans un en-tête Set-Cookie avec HttpOnly , Secure et SameSite=Strict , et invalidez chaque jeton qui a déjà fui, car la correction du code ne révoque pas ce que les attaquants ont collecté.

Ce que vous apprendrez dans Exposition du jeton dans l'URL

Exposition du jeton dans l'URL — Étapes de la formation

  1. Regarder une connexion

    Bob s'est penché sur Corveil, une application d'espace de travail partagé sur laquelle les entreprises gèrent leurs documents. Avant de chercher un moyen d'entrer, il souhaite voir exactement ce que fait l'application lorsque quelqu'un se connecte. Il crée un compte jetable afin de pouvoir se connecter en tant que lui-même et surveiller chaque étape. Il commence sur la page de connexion.

  2. Connectez-vous et suivez la redirection

    Bob se connecte à son compte jetable, comme le ferait n'importe quel utilisateur. Son gestionnaire de mots de passe remplit les informations d'identification enregistrées. Corveil le connecte et le redirige vers le tableau de bord de son espace de travail. Le navigateur atterrit sur la page vers laquelle il l'a envoyé.

  3. Le jeton est dans la barre d'adresse

    Bob est maintenant sur son tableau de bord et quelque chose lui saute aux yeux : la connexion a déposé son jeton de session directement dans l'URL. Cette chaîne représente l’intégralité de sa session de connexion. Il n’a pas besoin de s’introduire dans quoi que ce soit. Il a juste besoin des endroits où ces URL s'accumulent.

  4. Récoltez les journaux de référence

    Bob n'envoie jamais à Corveil une seule requête malveillante. Au lieu de cela, il achète un mois de journaux de référence auprès d'un revendeur d'analyses, le genre de fournisseur dont la balise de suivi se trouve sur le tableau de bord de Corveil et enregistre discrètement l'URL de référence complète de tous ceux qui la chargent. Il ouvre un terminal à côté du navigateur et récupère ce flux pour les liens de connexion au tableau de bord.

  5. Rejouer une session volée

    Bob choisit une victime dans la décharge, Maya Okafor, et prend son jeton de session. Il pointe le testeur d'API vers l'API du document de Corveil et transporte son jeton volé dans un en-tête Cookie, exactement comme le ferait son navigateur. Si le serveur l'accepte, il lit l'espace de travail privé de Maya sans jamais connaître son mot de passe.

  6. Sa séance est la sienne

    Le serveur a pris le jeton volé comme une véritable connexion et a répondu. Bob lit désormais les documents privés de Maya à partir d'un simple appel API, sans compte propre ni mot de passe.

  7. Contrôle des connaissances

    Bob peut faire cela pour des milliers d'utilisateurs à la fois, à partir des journaux qu'il a achetés. Expliquez précisément pourquoi un jeton dans une URL est bien pire que des données ordinaires dans une URL.

  8. L'alerte de sécurité

    Vous possédez le service de connexion de Corveil. Du jour au lendemain, la détection a signalé une série de sessions en cours de relecture à partir d'emplacements inconnus et vous a envoyé le résultat par courrier électronique. Lisez ce qu'il a détecté, puis ouvrez le code.

  9. Ouvrez le gestionnaire de connexion

    Le gestionnaire qui termine la connexion et redirige l'utilisateur vers son tableau de bord est ce que vous devez modifier. Ouvrez-le et regardez comment il crée la redirection.

  10. Repérez la fuite

    Le gestionnaire crée une nouvelle session, puis colle son identifiant directement dans la chaîne de requête de la cible de redirection. Le navigateur suit cette URL et à partir de ce moment, le jeton est partout où va l'adresse.

Couverture des référentiels de sécurité

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