Format string attack: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
ValterVBot (discussione | contributi)
m tag source deprecati, replaced: <source lang= → <syntaxhighlight lang= (7), </source> → </syntaxhighlight> (7)
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 4:
 
== Introduzione ==
Il tipo di attacco Format String è una classe di vulnerabilità scoperte nel 1999, presenti prevalentemente in [[Linguaggio di programmazione|linguaggi di programmazione]] imperativi come il [[C (linguaggio di programmazione)|C]]. Un Format String Attack è formato da tre componenti fondamentali:
* Format Function: in ANSI C è una funzione che converte una variabile di tipo primitivo, in una stringa user-friendly cioè leggibile dall’uomo.
 
Riga 72:
 
Vogliamo leggere aree di memoria vicino a questo indirizzo ‘0x08480110’:
* Per prima cosa bisogna codificare l'indirizzo in una stringa a [[32 bit]] secondo la regola little-endian.
* l'indirizzo "0x08480110" verrà quindi ribaltato e separato da caratteri speciali diventando: "\x10\x01\x48\x08"
La codifica dell’indirizzo scelto in una stringa a 32 bit "\x10\x01\x48\x08" dove il carattere "\x10" inserito in una stringa dice al compilatore di mettere un carattere esadecimale "0x10" nella posizione corrente.
Riga 78:
Il carattere "\x" dice al compilatore di mettere il carattere esadecimanle "0x10" nella posizione corrente sullo stack. Altrimenti il valore ASCII salvato nella stringa sarebbe ‘1’ e ‘0’ i cui rispettivi valori ASCII sono ‘49’ e ‘48’, che risulterebbe errato.
 
Quindi la seguente invocazione andrà a leggere memoria dall’indirizzo che gli abbiamo fornito finché non raggiunge un NULL byte. Incrementando l’indirizzol’[[indirizzo di memoria]] dinamicamente possiamo mappare l’intera memoria di processo!
 
'''Scrivere un intero in (qualsiasi) locazione di memoria'''
Riga 91:
== Voci correlate ==
* [[Cross Application Scripting]]
* [[Stack_overflowStack overflow]]
* [[C_(linguaggio)Linguaggio C]]
 
== Collegamenti esterni ==