<<
46/52
>>
First
Last
再反撃手法 - ROP
たとえばよくあるのは
( '-') python -c 'print "x"*(76) + \
<openのアドレス> + <pop-pop-ret> + <pathname> + <O_RDONLY> +
<readのアドレス> + <pop-pop-pop-ret> + <fd> + <buf> + <count> +
<writeのアドレス> + <exit> + <fd> + <buf> + <count> +
' > shine
などとすると、
- open に return 、引数は pathname と O_RDONLY
- open から pop-pop-ret に return 。 pathname と O_RDONLY は pop される
- read に return 、引数は fd, buf, count
- read から pop-pop-pop-ret に return 。 read の引数は pop される
- write に return 、引数は fd, buf, count
- write から exit に return
などと実行できる