DESERIALIZATION / OBJECT INJECTION

Le Concept

La sérialisation consiste à transformer un objet (code) en texte pour le stocker (ex: cookie, fichier).

En PHP : O:4:"User":2:{s:4:"name";s:3:"Bob";...}

La désérialisation (unserialize()) fait l'inverse : Texte -> Objet.

L'Attaque

Si l'attaquant modifie le texte sérialisé avant qu'il soit désérialisé par le serveur, il peut modifier les propriétés de l'objet (passer admin, injecter du code).

En PHP, cela déclenche souvent des méthodes magiques comme __destruct() ou __wakeup() qui peuvent contenir du code dangereux.

RETOUR