티스토리 뷰





Hackerschool FTZ의 Level 9 풀이입니다.






문제에 접속해서 힌트를 확인해보면 위와 같이 출력됩니다.


위 코드를 보면, 입력은 buf에 받고 있는데 buf2가 go와 같게 만들라고 하고 있습니다.


fgets는 경계선 검사를 하지 않는 함수이니 아마 이 함수에 정답이 있을 겁니다.


일단 hint에 있는 c 코드를 복사하고 똑같은 파일을 만든 뒤 컴파일 후 gdb로 디버깅했습니다.






0x8048320에 fgets로 입력받는데 strcmp로 비교하는 부분은 0x8048330입니다.


0x8048330 - 0x8048320 = 16


fgets 함수는 경계선 검사를 안 하므로 16글자가 넘어가면 bof2의 영역으로 갈수있습니다.


bof 파일 실행 후 gggggggggggggggggo를 입력하면,






level10의 권한을 얻게 됩니다!


이제 my-pass를 입력해보면..






Key : interesting to hack!





'Pwnable > Hackerschool' 카테고리의 다른 글

[Hackerschool FTZ] Level 11 풀이  (0) 2018.04.16
[Hackerschool FTZ] Level 10 풀이  (0) 2018.03.29
[Hackerschool FTZ] Level 8 풀이  (0) 2018.03.28
[Hackerschool FTZ] Level 7 풀이  (0) 2018.03.28
[Hackerschool FTZ] Level 6 풀이  (0) 2018.03.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함