level13 문제입니다.
hint에는 attackme의 코드가 적혀있습니다. i 의 값이 0x1234567이 아니면 kill과 동시에 프로그램이 죽어버립니다.
i의 값을 유지하면서 쉘을 실행시켜야 합니다.
이때까지 한 방법과 같이 tmp에 옮겨서 gdb로 분석해보면 main실행시 스택에 sub 0x418로 1048크기 만큼의 공간을 할당하는 것을 알 수 있습니다. 그다음 mov줄을 보면 ebp-12의 위치에 0x1234567값을 넣는 것을 볼 수 있습니다.
이 곳이 i에 해당하는 자리겠네요. 즉
배열1024 + 12 + i의 값 + 1048나머지부분 + 시스템 주소, ret, /bin/sh 을 넣어주면 될 것 같습니다.
'Wargame > FTZ' 카테고리의 다른 글
[FTZ] 해커스쿨 ftz level14 (0) | 2018.02.26 |
---|---|
[FTZ] 해커스쿨 ftz level12 (0) | 2018.02.26 |
[FTZ] 해커스쿨 FTZ Level11 (0) | 2018.02.25 |
[FTZ] 해커스쿨 FTZ Level9 - Level10 (0) | 2018.02.25 |
[FTZ] 해커스쿨 FTZ Level8 (0) | 2018.02.25 |