728x90
조금, 아주 조금 더 디테일한 바이트 조작이 필요 하다. 일단 i의 값을 변조 시키면 안된다.
바로 gdb로 열어서 확인 해 보면 long i 는 ebp-12에 있고
buf는 ebp-1048에 있다. 그렇다면 현재 스택은
----------- [ buf(1024) ][ dummy(12) ][ long i(4) ][ dummy(8) ][ ebp ][ ret ] ----------
이렇게 있다.
위 내용을 참고로 i의 위치 전까지 아무 문자열로 채우고 i의 값을 그대로 넣어주고
ret 전까지 12바이트를 또 아무 문자열로 채우고 쉘코드의 위치를 넣으면 끝.
728x90
'ctf + wargame > 해커스쿨ftz' 카테고리의 다른 글
[ftz] level14 (0) | 2015.09.20 |
---|---|
[ftz] level12 (0) | 2015.09.20 |
[ftz] level11 (0) | 2015.09.20 |
[ftz] level10 (0) | 2015.09.18 |
[ftz] level9 (0) | 2015.09.18 |