Stack overflow: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 4:
I moderni sistemi operativi e compilatori sono dotati di vari meccanismi di protezione e randomizzazione dello stack, e di riorganizzazione fisica delle variabili sensibili (per evitare la sovrascrittura di puntatori).
=== Esempio di programma vulnerabile in Linux x86 (senza protezioni) ===
<source lang="c">
#include <string.h>
Riga 28:
Inoltre, nell'esempio di cui sopra:
* in <code>0xbffff7c8</code> abbiamo il valore <code>0xbffff7c8</code>, corrispondente all'istruzione assembly <code>enter 0xfff7,0xbf</code>, ripetuta fino all'indirizzo <code>0xbffff7dc</code>
* in <code>0xbffff7e0</code> (la locazione della prima istruzione successiva a quella in <code>0xbffff7dc</code>) incontriamo casualmente un riferimento ad un indirizzo non valido, con conseguente
{{Portale|Sicurezza informatica}}
|