Modification d’objets sérialisés
Modifying serialized objects
Ce laboratoire utilise un mécanisme de session basé sur la sérialisation et présente une vulnérabilité permettant une élévation de privilèges. L’objectif est de modifier l’objet sérialisé stocké dans le cookie de session afin d’obtenir des privilèges administrateur, puis de supprimer l’utilisateur carlos.
Un compte utilisateur est fourni pour démarrer :
Identifiant : wiener
Mot de passe : peter
Observation initiale
Après l’authentification, une requête de connexion est envoyée :
Le serveur répond avec un cookie de session :
Analyse du cookie de session
Le contenu du cookie est encodé en Base64. Une fois décodé, on obtient un objet PHP sérialisé :
Cet objet contient :
le nom d’utilisateur (
username)un indicateur de privilèges administrateur (
admin), défini àfalse(b:0)
Réencodage de l’objet en Base64 :

Modification de l’objet sérialisé
L’objet peut être modifié côté client avant d’être renvoyé au serveur.
Changement du nom d’utilisateur en carlos :
Activation des privilèges administrateur en passant
adminàtrue:
Réencodage de l’objet en Base64 :
Exploitation
Le cookie de session est remplacé par la nouvelle valeur modifiée.

Mis à jour