Buffer Overflow Protection Fedora 8

Befasse mich gerade mit Buffer Overflows und würe gerne wissen was man alles deaktivieren muss damit man zB den eip überschreiben kann.
Habe schon fogendes gemacht:
echo 0 > /proc/sys/kernel/randomize_va_space
Danke
 
Du verstehst da was falsch.
Der eip ist ein Register.
Mit dem kannst du machen was du willst.
Du kanns halt nur ncht so ohne weiteres deinen Stackbereich verlassen.
mfg

sw33t
 
Der eip ist der Zeiger auf die funktion die als nächstes ausgeführt werden soll ?
Denke ich habe das schon verstanden allerdings wenn ich versuche folgendermassen einen overflow zu erzeugen funktioniert das nicht :
Tutorial nach dem ich vorgengen bin :
http://www.milw0rm.com/papers/73
Ich will das im eip 0x41414141 steht..aber
Ich bekomme den eip einfach nicht voll :
Code:
Starting program: /home/Desktop/ov `perl -e 'print "A"x1031'`
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x00414141 in ?? ()
(gdb) run `perl -e 'print "A"x1032'`
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /home/Desktop/ov `perl -e 'print "A"x1032'`
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x08048418 in bof ()
(gdb) run `perl -e 'print "A"x1029'`
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /home/Desktop/ov `perl -e 'print "A"x1029'`
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
0x08040041 in ?? ()
Danke
 
Erhälst du nach jedem neuen run-Aufruf die gleichen Speicheradressen oder erhälst du immer verschiedene? Also im ersten Aufruf 0x00414141 (0x41=A), im zweiten 0x08048418 und im letzten 0x08040041? Welche Meldung erhälst du, wenn du das Programm mit den selben Argumenten ausserhalb von gdb aufrufst?

Ansonsten findest du im Fedora-Wiki die entsprechenden Informationen dazu: http://fedoraproject.org/wiki/Security/Features
 
Erhälst du nach jedem neuen run-Aufruf die gleichen Speicheradressen oder erhälst du immer verschiedene? Also im ersten Aufruf 0x00414141 (0x41=A), im zweiten 0x08048418 und im letzten 0x08040041? Welche Meldung erhälst du, wenn du das Programm mit den selben Argumenten ausserhalb von gdb aufrufst?
Immer die selben adressen...
Immer Speicherzugriffsfehler...
Ansonsten findest du im Fedora-Wiki die entsprechenden Informationen dazu: http://fedoraproject.org/wiki/Security/Features
Danke , werde aber wahrscheinlich dann lieber eine Live CD benutzen bevor ich da so viel herum spiele...
 
Zurück
Oben