mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
24 lines
1.8 KiB
Markdown
24 lines
1.8 KiB
Markdown
# É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}}
|