cgy12306

FTZ 16번 level16 본문

Wargame/FTZ

FTZ 16번 level16

cgy12306 2019. 7. 6. 19:51

ID : level16

PW : about to cause mass

 

이번에도 버퍼오버플로우 문제인듯 하다. 디버깅을 해보자.

 

main+6을 보면 ebp-16지점에 0x8048500를 넣는다. 참고로 8048500은 printit의 함수의 시작주소이다.

 

 

main+36부분에서 ebp-16지점에 있는 값을 eax에 넣고 main+39에서 eax를 호출한다. main 함수를 한 줄씩 실행해보자. 우선 main에 break point를 걸어주고, r으로 프로그램을 실행하고,

 

ni로 한 줄씩 실행해보자.

 

print해주는 함수가 실행된다.

 

c 코드에서 shell함수를 우리가 호출해야하는데 ebp-16지점에 shell 함수의 시작지점을 넣어주면 될 듯 하다.

 

shell 함수의 시작주소는 0x080484d0이다. 그러면 40byte만큼 A를 채워주고 0x080484d0를 넣어주면 될것같다.

 

비밀번호는 king poetic이다

 

'Wargame > FTZ' 카테고리의 다른 글

FTZ 18번 level18  (0) 2019.07.06
FTZ 17번 level17  (0) 2019.07.06
FTZ 15번 level15  (0) 2019.07.06
FTZ 14번 level14  (0) 2019.07.06
FTZ 13번 level13  (0) 2019.07.06
Comments