Format string attack: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
mNessun oggetto della modifica
Riga 2:
 
== Funzionamento ==
Se si passa a una funzione che stampa una stringa a schermo, tipicamente una [[printf]] del [[C (linguaggio)|linguaggio C]], una stringa che in realtà contiene una serie di parametri di specifica dell'input (tipicamente si usano gli specificatori di formato %s e %x per esaminare il contenuto della memoria e %n per sovrascrivere parti della memoria, in particolare dello [[stack]], si permette l'avvio di un' attacco di tipo ''[[stack overflow]]'' e ''return to libc''). Per proteggersi da questo attacco, quando si vuole stampare una stringa s usando la ''printf()'' o un'altra funzione C che accetta un numero illimitato di specificatori di formato, bisogna scrivere la funzione
 
printf("%s",s)