Format string attack: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 7:
: Un attacco di tipo Format String è formato dai seguenti componenti:
 
* Format Function: in ANSI C è una funzione che converte una variabile di tipo primitivo, del linguaggio di programmazione, in una stringa user-friendly cioè leggibile dall’uomo. Alcune di queste sono:
{| border=1
| printf: |per stampastampare su stdout
| fprintf: |per stampastampare la format string su un file
|- sprintf: |per stampastampare launa stringa dentro un’altraun buffer
|- snprintf: |per stampastampare esattamente 'n' caratteri della stringa in ingresso nella seconda stringa (già più sicura delle altre!!)
|}
 
* Format String: è l’argomento della format function ed è una stringa ASCII che contiene sia testo che parametri di formato, ad esempio: printf(“The magic number is %d\n”, 3);
{| border=1
printf(“The magic number is %d\n”, 3);
| Cella 1, riga 1
| Cell 2, riga 1 (e 2)
| Cella 3, riga 1
|-
| Cella 1, riga 2
| Cella 3, riga 2
|}
 
 
* Format String: è l’argomento della format function ed una stringa ASCII che contiene sia testo che parametri di formato, ad esempio: printf(“The magic number is %d\n”, 3);
 
* Format String Parameter definisco il tipo di conversione da effettuare in relazione alla variabile presente nella format string. Ad esempio: