로딩
요청 처리 중입니다...

ftz.hackerschool.org level14 (bof)

 ftz.hackerschool.org level14 (bof)

hackerschool ftz ftz.hackerschool.org level14 (bof) wooy0ng 2017. 10. 28. 1:16 이웃추가 본문 기타 기능 안녕하세요! 이번 포스팅은 level14 문제 풀이입니다 우선 힌트를 먼저 볼까요?

buf[20]이 나중에 선언 되었습니다. 그런데 fgets()으로 buf의 크기보다 많이 입력받을 수 있도록 코드가 짜여져 있습니다.

즉, 우리는 bof을 이용하여 다른 변수의 값을 만질 수 있다는 소리죠. check 변수만 만져주면 될 것 같습니다 이제 본격적으로 해봅시다. gdb를 이용하여 스택 상황을 봅시다. 일단은 우리가 사용해야할 buf[20]의 위치를 알아야 할 것 같습니다. fget를 호출 할 때 인자로 buf의 주소를 넣어 줄 것이기 때문에 [ebp - 56]의 위치에 있는 곳이 buf[20]의 시작점이겠네요!

그리고 cmp를 이용하여서 0xdeadbeef랑 [ebp - 16]위치에 있는 값이랑 비교를 하는 것을 보니 [e...

# bof # hackerschool # level14