La pile (stack en anglais) est un espace mémoire servant à stocker les arguments des fonctions et des données utilisées temporairement dans les fonctions. Il ne faut pas abuser de cette pile car sa taille est difficilement contrôlable, et surtout on n'a aucune garantie sur le comportement lorsqu'on en sort.

Ce billet présente les erreurs courantes d'utilisation de la pile, l'exploitation de ces erreurs pour injecter du code, les contre-mesures et enfin des conseils pour l'utiliser correctement.

Lire la suite