ftz

level9

oogu ㅣ 2022. 9. 11. 15:37

[그림 1-1]

fgets 에서 변수 buf 크기보다 30를 넘게 더 입력받아 bof가 발생한다.

[그림 1-2]
[그림 1-3]

[그림 1-2] 를 참조하면 [그림 1-3] 를 그릴 수 있다.

따라서 payload 는 "A"*16 + "go" 이다.

[그림 1-4]

성공! 실제 실행파일인 /usr/bin/bof 를 실행하자

[그림 1-5]

level10이 되었다!

gdb 를 통해 자세히 분석 ㄲ

[그림 2-1]

main + 65 실행 후 eax 값을 보면 주소값이 들어가 있다. 주소로 이동하면 0x000a6f67 값이 들어가 있다.

strncpy 에서 2 글자를 가지오면 0x67 0x6f 를 가져오는데 이 값이 아스키값 "go" 라는 걸 알 수 있다.

따라서 성공!

 

'ftz' 카테고리의 다른 글

level15  (0) 2022.09.12
level14  (0) 2022.09.12
level13  (0) 2022.09.12
level12  (0) 2022.09.11
level11  (0) 2022.09.11