본문 바로가기

LOB

LOB 15번 (giant → assasin)

cat assassin.c

argv[1][47]\xbf, \x40이면 안된다. , 스택의 주소도 공유라이브러리 주소도 쓰지 못한다.

사실 어떻게 해야할지 감이 안와서 찾아보니 ret명령어를 통해 4byte 증가하는 esp를 이용하여 푸는 거 같다. 이걸 RET sled라고 하길레 좀 더 찾아보았다. RETRET주소를 덮으면 esp4byte 더 증가하면서 스택상의 위치가 올라간다. 이렇게 내가 원하는 위치에 함수 주소를 넣을 수 있다.

그렇다면 ret주소에 ret를 덮고 system함수를 부르고 더미 4byte넣고 /bin/sh주소 넣으면 될 것이다.

  

ret 주소 : 0x804851e

system 주소 : 0x40058ae0

 

/bin/sh 주소 : 0x400fbff9




'LOB' 카테고리의 다른 글

LOB 17번( zombie_assassin → succubus )  (0) 2016.11.14
LOB 16번 ( assassin → zombie_assassin )  (0) 2016.11.14
LOB 14번 (bugbear → giant)  (0) 2016.10.13
LOB 13번 (darkknight → bugbear)  (0) 2016.10.13
LOB 12번 (golem → darknight)  (0) 2016.10.06