[RoLUG] RSG: Buffer overflow paper update
Ferdinando Pucci
rolug@lists.linux.it
Mon, 17 Feb 2003 01:08:27 +0100
On Sat, 15 Feb 2003 23:10:20 +0100
Roccatello Eduard <eduard@box.it> wrote:
> PS: Ferdi che ne dici di accennare RSG sul sito web di rolug? (lo so, ti
> faccio sempre lavorare :-)
Mah... non so... :-)
Molto interessante il buf overflow!! Qualche bazzecola:
La regione "Data" contiene dati sia inizializzati che non e indirizza anche
le variabili statiche, imagazzinate in questa regione di memoria.
Che diff c'è tra dati inizializzati e non? A parte questo riformulerei
la frase cosi, mi sembra piu chiaro:
La regione "Data" contiene dati inizializzati, dati non inizializzati e
variabili statiche.
Se uso "int main(void) ..." non ho l'err gcc 2.95.4:
"code.c:5: warning: return type of `main' is not `int'"
ed il disassemble non mi da tutti i nop:
0x80483c8 <main>: push %ebp
0x80483c9 <main+1>: mov %esp,%ebp
0x80483cb <main+3>: sub $0x8,%esp
0x80483ce <main+6>: add $0xfffffff4,%esp
0x80483d1 <main+9>: push $0xf
0x80483d3 <main+11>: call 0x80483c0 <funzione>
0x80483d8 <main+16>: add $0x10,%esp
0x80483db <main+19>: leave
0x80483dc <main+20>: ret
0x80483dd <main+21>: lea 0x0(%esi),%esi
End of assembler dump.
I frame pointer, stack pointer e stack frame che sono?
Variabili? Costanti? Puntatori? Panini? :-)
Che ne dici di commentare riga per riga l'output di
disassemble invece che nel paragrafo? E' molto incasinato
imho quel pezzo :-) per non parlare del calcolo che hai
fatto (0x40?), che non ho neancora capito... :~/
--
GnuPG info rovigo.linux.it
headers _\ /_ webmaster
V
Linux User #250527