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이다.
'FTZ' 카테고리의 다른 글
FTZ level 18 (0) | 2016.12.23 |
---|---|
FTZ level 17 (0) | 2016.12.23 |
FTZ level 15 (0) | 2016.12.23 |
FTZ level 14 (0) | 2016.12.23 |
FTZ level 13 (0) | 2016.12.23 |