[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: Aprile 2001 ml@sikurezza.org
Soggetto: Re: format string
Mittente: Kundera
Data: 22 Apr 2001 12:28:33 -0000
At 17.21 20/04/01 +0200, you wrote:
>Ciao,
>
>Stò leggendo un articolo che spiega il funzionamento delle vulnerabilità
>basate sulle format string.
>
>Sul documento c'è scritto che la stringa di formattazione del printf (e dei
>comandi della stessa famiglia) viene caricata sullo stack e da quello che
>ho capito è proprio per questo che si riesce ad exploitare. Ho scritto 2
>righe in C per provare, ma non ho avuto i risultati attesi.
>Questi sono il sorgente C e i risultati:
>
>----------prog.c-----------
>main()
>{
>unsigned char buff[16];
>memset(buff,'\xCC', sizeof(buff));
>
>printf("\nAAAAAAAA__%08x.%08x.%08x.%08x.%08x.%08x.%08x\n");
>}
>----------fine prog.c-----------
>
>
>$ gcc prog.c -o prog
>$ prog
>
>AAAAAAAA__cccccccc.cccccccc.cccccccc.cccccccc.bffff9e8.400349cb.00000001
>$
>
>Il parametro di formattazione %08x stampa 4 byte e fa avanzare il puntatore
>dello stack.
>La stampa comincia dalla posizione attuale dello stack e prosegue verso
>l'alto della pila.
>
>Quello che non mi torna è che se la stringa di formattazione viene messa
>nello stack dovrebbe essere stampata prima della variabile buff, in quanto
>inserita dopo (mi aspettavo di trovare una serie di 8 byte \x41
>corrispondente agli 8 caratteri A seguiti dal resto della stringa di
>formattazione). Invece, come si può vedere nel risultato, i primi byte
>stampati sono proprio quelli di buff e la stringa di formattazione non c'è.

Secondo me non c'e' perche' nello stack non c'e' la stringa ma l'indirizzo.

E poi l'indirizzo da dove vuoi visualizzare la memoria devi fornirlo cosi' :

printf("\n\x01\x13\x81\b1__%08x.%08x.%08x.%08x.%08x.%08x.%08x\n");

cioe' l'indirizzo 0xb1811301 .









                <--Kundera-->
       --Digital Skull BBS Sys0p--
--+39-2-93163367 24h/24h 8N1 Ansi--
         --kundera@tiscalinet.it--


________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005