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?
È 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.
Leggi altre domande sui tag attacks