linux user group brescia

immagine del castello

Archivio della mailing list

protezione buffer overflow

Nicola Gatta nicola.gatta a gmail.com
Lun 19 Maggio 2008 12:22:03 UTC
ClamAV 0.93

On Fri, May 16, 2008 at 9:37 PM, Carlo Bertoldi <mcbain a tiscali.it> wrote:
> Ciao,

Ciao.
Rispondo con un po' di ritardo...

> Mi sono accertato di aver disattivato sia la randomizzazione dello spazio di
> indirizzamento, e inoltre compilo con -fno-stack-protector,
> eppure il risultato non cambia.

Intendi questo /proc/sys/kernel/randomize_va_space giusto?

> Invece, se compilo il tutto, con le modifiche all'exploit del caso, su un
> sistema debian la cosa funziona.
> Qualcuno mi sa dare una dritta? Ho cercato nella ml del gcc, ho trovato
> qualcosa di simile ma purtroppo nessuno ha risposto..

Difficile dare una dritta senza qualche dettaglio in più.
Hai provato a simulare l'exploit con un debugger (gdb) per vedere che succede?

Conta che potrebbero cambiare gli offset necessari per arrivare a
sovrascrivere il return address in base alle release di gcc e libc.
Mi spiego con un esempio su uno stack overflow standard su un buffer
di 256 byte (esempio classico), per arrivare al return address, su
alcuni sistemi può bastare un input di 264 byte, mentre su altri
potrebbe essere necessario arrivare anche a 272 byte (in base a quanto
ricordo da vecchi esperimenti)
Dipende dal layout della memoria in occasione di una chiamata a funzione.

Se ti va, mandami il codice vulnerabile che stasera (adesso sono al
lavoro) provo a compilarlo su una ubuntu 7.10
Per non tediare la lista possiamo continuare in privato...

Ciao.
Nicola
-- 
"Il problema dell'umanità è che gli stupidi sono strasicuri, mentre
gli intelligenti sono pieni di dubbi. "
Bertrand Russel.




Maggiori informazioni sulla lista Lug