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.
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.