# Écraser un morceau libéré {{#include ../../banners/hacktricks-training.md}} Plusieurs des techniques d'exploitation de la mémoire tampon proposées nécessitent de pouvoir écraser des pointeurs à l'intérieur de morceaux libérés. L'objectif de cette page est de résumer les vulnérabilités potentielles qui pourraient accorder cet accès : ### Utilisation simple après libération S'il est possible pour l'attaquant d'**écrire des informations dans un morceau libre**, il pourrait en abuser pour écraser les pointeurs nécessaires. ### Double libération Si l'attaquant peut **`libérer` deux fois le même morceau** (libérer d'autres morceaux entre-temps potentiellement) et le faire être **2 fois dans la même bin**, il serait possible pour l'utilisateur de **réallouer le morceau plus tard**, **écrire les pointeurs nécessaires** et ensuite **le réallouer**, déclenchant les actions du morceau étant alloué (par exemple, attaque fast bin, attaque tcache...) ### Débordement de tas Il pourrait être possible de **déborder un morceau alloué ayant à côté un morceau libéré** et de modifier certains en-têtes/pointeurs de celui-ci. ### Débordement hors par un Dans ce cas, il serait possible de **modifier la taille** du morceau suivant en mémoire. Un attaquant pourrait en abuser pour **faire en sorte qu'un morceau alloué ait une taille plus grande**, puis **`libérer`** celui-ci, faisant en sorte que le morceau soit **ajouté à une bin de taille différente** (plus grande), puis allouer la **taille factice**, et l'attaque aura accès à un **morceau avec une taille qui est plus grande** qu'elle ne l'est réellement, **accordant donc une situation de morceaux qui se chevauchent**, qui est exploitable de la même manière qu'un **débordement de tas** (voir la section précédente). {{#include ../../banners/hacktricks-training.md}}