Poisoning avec cookie non indexé

Ce laboratoire est vulnérable au web cache poisoning car les cookies ne sont pas inclus dans la clé de cache. Un utilisateur légitime visite régulièrement la page d’accueil. L’objectif est d’empoisonner le cache avec une réponse qui exécute alert(1) dans le navigateur de la victime.

Analyse de la réponse

  • On intercepte la requête vers la racine (/).

  • Dans la réponse HTML, on observe un script JavaScript contenant des données dynamiques :

  • Le champ frontend correspond à la valeur d’un cookie envoyé par le navigateur

  • Dans la requête, un cookie nommé fehost est présent :

  • Cette valeur est directement réutilisée dans la réponse sans être intégrée à la clé de cache.

  • En modifiant la valeur du cookie fehost, on constate que la réponse reflète immédiatement la nouvelle valeur :

  • Cela confirme que le cookie est non indexé dans le cache et qu’il influence le contenu mis en cache.

Injection de payload

  • On injecte alors une valeur malveillante dans le cookie afin de casser le contexte JavaScript et d’exécuter du code arbitraire :

  • Le payload s’échappe de la chaîne JavaScript et injecte un appel à alert(1).

Mis à jour