나의 기록, 현진록

[War Game] ftz level16 본문

War Game/ftz

[War Game] ftz level16

guswlsdk 2018. 1. 28. 16:59
반응형

ftz level16








다음은 hint의 내용이다.




shell 함수를 실행 시켜야 문제를 풀어낼 수 있지만


printit 함수만 호출하고 있다.


main을 보면 call 포인터 변수에 printit이 저장되어 있다.


printif 함수의 주소가 저장되어 있을 것이다.


그렇다면 call 포인터 변수에 shell 함수의 주소를 넣으면 될 것 같다.


shell 함수의 주소를 알아보자.







printit 함수와 shell 함수의 주소가 보인다.


현재는 0x08048500이 call 포인터 변수에 저장되어 있다.


main문을 보자.



main+6을 보면


ebp-16에 printit 함수의 주소가 저장되어 있다.


ebp-16에 shell 함수의 주소를 넣어보자.


총 56 byte 이므로


call 포인터 변수(ebp-16)는 40byte부터 시작한다.


즉 40byte부터 shell 함수의 주소를 넣어야 한다.


페이로드 작성




반응형

'War Game > ftz' 카테고리의 다른 글

[War Game] ftz level18  (0) 2018.01.28
[War Game] ftz level17  (0) 2018.01.28
[War Game] ftz level15  (0) 2018.01.28
[War Game] ftz level14  (0) 2018.01.28
[War Game] ftz level13  (0) 2018.01.27