cgy12306
FTZ 16번 level16 본문
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