LeIl '''format string attack''' (''vulnerabilità di formato della stringa'') sono una classe di vulnerabilità scoperte nel 1999. In breve, si tratta di passare 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]], questo permette attacchi di tipo ''[[stack overflow]]'' e ''return to libc''). inIn pratica, 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",StringPointer)
e non scrivere
printf(StringPointer)
in quanto in questo modo l'input dell'utente non viene validato. laLa stringa StringPointer potrebbe contenere una serie di specifcatorispecificatori di formato. Questo tipo di attacco, comunque, diventa sempre piu'più difficile grazie alla diffusione di una maggiore consapevolezza della necessitanecessità di gestire i rischi associati alla programmazione e alla conseguente diffusione di tecniche di programmazione sicura.
==collegamentiCollegamenti esterni==
* {{en}}scut / team teso [http://julianor.tripod.com/teso-fs1-1.pdf <cite>Come sfruttare le Format String Vulnerabilities</cite>] v1.1 March 24, [[2001]]
* {{en}}[https://www.securecoding.cert.org CERT standard di programmazione sicura ]