Compago

...free knowledge

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Manuali Programmazione Buffer overflow - Heap overflow

Buffer overflow - Heap overflow

E-mail Stampa PDF
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.

 

 

Attachments:
Download this file (Overflow.zip)Overflow.zip[Codice per gli esempi trattati in questo articolo]78 Kb


Ultimo aggiornamento ( Sabato 19 Giugno 2010 16:46 )  
Italian English French German Portuguese Russian Spanish