Tromper le cache par manipulation de chemins

Exploiting path mapping for web cache deception

Objectif du lab

Récupérer la clé API de l’utilisateur carlos. Identifiants fournis : wiener:peter.

Observations

  • Dans Mon compte (my-account), la clé API apparaît en clair pour notre propre utilisateur.

  • Au départ, rien n’indique directement (dans la réponse) qu’il y a de la mise en cache.

  • En revanche, en ajoutant des segments à l’URL, l’application continue d’afficher la page my-account, ce qui suggère une logique de mapping de routes potentiellement compatible avec une mise en cache.

Exemples testés :

  • /my-account/TESTTTTTT → l’application traite toujours ça comme my-account

  • /my-account/TESTTT.js → l’extension .js est acceptée et interprétée (utile pour tromper des règles de cache)

Depuis l’Exploit Server, forcer une victime à charger une URL de type “statique” pointant vers my-account :

  1. En visitant ensuite :

    • /my-account/jordan.js on obtient une réponse qui affiche la clé API de carlos.

Résultat

La clé API de carlos est exposée via une URL “camouflée” (avec extension .js) qui permet de tirer parti du comportement de cache / de routage (/my-account/<quelque_chose>.js).

Mis à jour