힌트를 보면 gets함수를 사용해 입력한 값을 str버퍼에 저장한다. 버퍼의 크기를 gdb를 통해 확인해보자.
버퍼의 크기를 보기 위해 원본파일을 tmp파일에 복사한 후 gdb로 열었다.
버퍼의 크기를 0x108 즉, 264바이트를 할당했다.
필터기능도 없고 단순하게 RTL로 풀면 되겠다.
RTL을 위해 일단 system 함수의 주소를 gdb로 찾았다.
system함수의 주소는 0x4203f2c0이다.
그리고 /bin/sh의 위치도 찾았다.
/bin/sh의 주소는 0x42127ea4다.
쉘을 얻었다.
'Wargame > FTZ' 카테고리의 다른 글
[FTZ] level14@ftz (0) | 2017.11.21 |
---|---|
[FTZ] level13@ftz (0) | 2017.11.21 |
[FTZ] level11@ftz (0) | 2017.11.10 |
[FTZ] level10@ftz (0) | 2017.11.10 |
[FTZ] level9@ftz (0) | 2017.11.09 |