Manipulation des cookies via DOM
DOM-based cookie manipulation
Ce laboratoire montre une manipulation côté client (DOM) des cookies permettant d’injecter une valeur dans la cookie lastViewedProduct. En modifiant cette valeur on peut provoquer une exécution de contenu (XSS) sur une autre page et appeler la fonction print(). L’exploitation se fait en dirigeant la victime via l’exploit server vers les pages nécessaires.
Il existe une cookie de session nommée
lastViewedProductqui contient le lien du dernier produit consulté.

Sur la page il y a une section « Last viewed product » affichant un lien
<a href=".../product?productId=1">Last viewed product</a>.

En altérant la valeur stockée comme « dernière page vue », le lien affiché peut être interprété comme HTML/JS.
En remplaçant la valeur de la cookie par une URL externe (
https://jord4n.pro) le lien redirige vers ce site.

L’insertion de javascript:print() dans la valeur est interprétée par le navigateur dans ce contexte.

En injectant une charge utile contenant du HTML, par exemple
productId=1&'><h1>TEST</h1>, le contenu est rendu.

Une charge utile scriptive comme productId=1&'><script>print()</script> est également interprétée et déclenche print().

Faire stocker à la victime dans sa cookie
lastViewedProductune valeur contenant l’injection (la page produit est utilisée pour enregistrer cette valeur).Ensuite diriger la victime vers la page d’accueil (ou la page qui affiche « Last viewed product ») pour que la valeur mal formée soit rendue et exécute le script (
print()).Utiliser l’exploit server pour orchestrer la redirection vers la page produit (qui écrit la cookie) puis vers la page où la cookie est affichée.

Mis à jour
Ce contenu vous a-t-il été utile ?