티스토리 뷰





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/12   »
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 31
글 보관함