Perché overflow dell'heap / overflow overflow / overflow dello stack / overflow del buffer si verificano solo negli indirizzi più alti?

1

Ho letto da qualche parte che questo tipo di attacchi sono suscettibili agli indirizzi più alti e non più bassi nello stack / heap / buffer. Perché è questo?

    
posta sbnation 24.12.2014 - 05:20
fonte

1 risposta

3

È a causa di come i dati sono archiviati in memoria.

Quando un oggetto dati più grande di un singolo byte deve essere riferito a, i programmi lo fanno ricordando l'indirizzo del primo byte, più (in qualche modo) la dimensione dell'oggetto. Questo primo byte è (per convenzione) inserito nell'indirizzo con valore più basso dello spazio disponibile e, di conseguenza, qualsiasi overflow verrà eliminato dalla fine con indirizzo elevato.

    
risposta data 24.12.2014 - 05:53
fonte

Leggi altre domande sui tag