cgy12306

FTZ 15번 level15 본문

Wargame/FTZ

FTZ 15번 level15

cgy12306 2019. 7. 6. 19:20

ID : level15

PW : guess what

 

14번이랑 다른점은 포인터를 이용한다는 점이다.

디버깅 해보자.

 

14번과 유사하다. 하지만 main+32 부분을 보면 eax 주소안의 있는 값과 0xdeadbeef와 비교한다.

이 부분이 제일 헷갈렸다. 나의 이해 방식은 main+32 부분에서 DWORD PTR[eax]를 그냥 eax로 바꾼다면

ebp-16의 위치에 있는 값과 0xdeadbeef와 비교를 하는 것이다. 그러면 ebp-16에 0xdeadbeef를 넣으면 되겠지만 현재의 문제는 DWORD PTR[eax]와 0xdeadbeef를 비교하는 것이다. 그러면 ebp-16의 위치에 0xdeadbeef가 있는 주소값을 넣어주면 해결 된다.

 

 

우선 스택구조는 이렇다. 저 ebp-16 자리에 0xdeadbeef가 있는 주소를 넣어주면 된다.

0xdeadbeef를 main에서 찾아보자.

 

main+32부근에 있다.

 

0xdeadbeef의 자세한 주소는 0x080484b2이다. 이제 쉘을 획득해보자. 맨 처음 버퍼에 A를 40byte만큼 채워주고 ebp-16위치에 0x80484be를 넣어주면 된다.

 

비밀번호는 about to cause mass 이다.

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

FTZ 17번 level17  (0) 2019.07.06
FTZ 16번 level16  (0) 2019.07.06
FTZ 14번 level14  (0) 2019.07.06
FTZ 13번 level13  (0) 2019.07.06
FTZ 12번 level12  (0) 2019.07.06
Comments