Analyse de structures de données non standard

Scanning non-standard data structures

Contexte du laboratoire

Ce laboratoire contient une vulnérabilité difficile à identifier manuellement, car elle se trouve dans une structure de données non standard. L’objectif est d’utiliser Burp Scanner, en particulier la fonctionnalité Scan selected insertion point, afin de détecter la vulnérabilité, puis de l’exploiter manuellement pour supprimer l’utilisateur carlos.

Identifiants fournis :

  • Utilisateur : wiener

  • Mot de passe : peter

Étape 1 – Authentification

On se connecte à l’application via la page de login avec les identifiants fournis.

Étape 2 – Scan ciblé sur un point d’insertion

Au lieu de lancer un scan global, on effectue un scan très ciblé :

  • On intercepte une requête authentifiée.

  • On sélectionne uniquement la valeur du cookie de session.

  • On lance Burp Scanner → Scan selected insertion point sur cet élément précis.

Ce scan minimaliste permet d’analyser une zone rarement testée manuellement : la structure interne du cookie.

Étape 3 – Détection de la vulnérabilité

Burp Scanner identifie une vulnérabilité de type :

  • Cross-Site Scripting (XSS) stocké

La charge utile détectée est injectée directement dans le cookie de session.

Exemple de payload initial détecté :

Étape 4 – Exfiltration de la cookie via Burp Collaborator

On adapte le payload pour exfiltrer le contenu de document.cookie vers notre serveur Collaborator, encodé en Base64 :

Ensuite, on URL-encode le payload avant de l’injecter :

Étape 5 – Récupération et décodage de la cookie admin

Le serveur Collaborator reçoit une requête contenant la cookie encodée en Base64 :

Après décodage, on obtient :

Étape 6 – Accès administrateur et exploitation finale

En utilisant la cookie de session de l’administrateur :

  • On accède à l’interface admin.

  • Une page interne de logs est accessible.

  • Cette page affichait les cookies sans filtrage, ce qui explique la persistance du XSS stocké.

  • Il est alors possible de supprimer l’utilisateur carlos et de valider le laboratoire.

Mis à jour