FTZ
FTZ level 16
趙河晶
2016. 12. 23. 14:16
FTZ level 16
hint
call함수를 부르는 주소에 printit함수 주소가 들어가 “Hello there!”이 출력될 뿐 쉘코드를 딸 수 있는 shell함수는 실행되지 않는다. fgets함수가 BOF를 일으킬 수 있는 함수이므로 buf에 bof를 일으켜 call함수를 부르는 주소에 shell함수 주소로 덮는다.
gdb를 통해 main함수를 보면 ebp-16에 printit함수 즉 call할 함수의 주소를 저장하고 있다.
그리고 ebp-56에 fgets함수를 부르므로 buf가 들어가기 시작한다.
40byte만큼을 채우고 shell함수의 주소로 덮자.
shell함수의 주소는 0x080484d0이다.