| Indice |
|---|
| Buffer overflow |
| Buffer overflow in lettura |
| A cosa possono servire gli overflow |
| Heap overflow |
| Tutte le pagine |
Overflow nella sezione Heap
Le variabili allocate dinamicamente vengono invece memorizzate in una parte diversa di memoria, chiamata Heap. Questa è collocata dopo lo stack e come per quest'ultimo la sua dimensione è stabilita dal linker o dal programmatore in maniera esplicita. La sua dimensione la possiamo ricavare da un campo dell'optional header (vedi Struttura file PE).
var
p:pointer;
begin
GetMem(p,4); //alloca solo 4 byte
StrCopy(p,'123456'); //ci copia dentro una stringa + grande
writeln(Pchar(p));
end.
Sovrascrivere questa parte di memoria non è così sistematico, dato che la gestione della memoria dinamica è gestita in modo diverso dai diversi sistemi. comunque per ora non approfondiremo questo argomento.
Spero di essere stato sufficientemente chiaro nella introduzione di questo fenomeno che sta alla base di molti exploit.





