Heap Spray — Pulvérisation du tas

Heap Technique

Principe

Le heap spraying remplit le tas de nombreuses copies d'une charge (NOP sled + shellcode, ou pointeurs forgés) pour augmenter la probabilité qu'un saut hasardeux (ex: via un pointeur corrompu) atterrisse dessus. Historiquement clé dans l'exploitation navigateur.

Schéma (contexte navigateur)

// JS : allouer des milliers d objets identiques
var spray = [];
for (var i=0; i<100000; i++)
    spray[i] = nop_sled + shellcode;
// puis déclencher un UAF/type confusion qui saute
// vers une adresse 'probablement' sprayée (0x0c0c0c0c)

Limites modernes

Largement atténué par ASLR haute entropie, DEP/NX (le spray seul ne suffit plus), et les mitigations navigateur (isolation, partitionnement du tas). Reste un concept utile combiné à un info leak.