관리 메뉴

HeeJ's

[09] hackerschool FTZ :: level9 본문

<CTF>/<HackerSchool FTZ>

[09] hackerschool FTZ :: level9

meow00 2020. 8. 15. 10:52

bof, 버퍼오버플로우 문제이다.

 

level10의 권한을 얻으려면

buf2의 앞부분이 go가 되어야 한다.

 

하지만 입력받는 부분은 buf[10]이 되는데,

buf의 공간은 10인데, 40만큼 입력받아 이 부분이 문제가 되는 것 같다.

 

/usr/bin/bof를 실행시켜보면

특정 문자열을 입력받고, 그대로 종료된다.

 

이제 buf와 buf2의 위치를 확인해보기 위해

gdb로 컴파일해주었다.

 

Permission denied.로 위 파일은 권한이 거부되었다.

 

그래서 bof.c라는 파일을 tmp에 만들어주었다.

 

이제 gdb를 이용해 컴파일해주었다.

 

어셈블리언어로 확인해주었다.

 

buf은 ebp-40, buf2는 ebp-24로,

buf에서 16바이트를 채우면 buf2로 버퍼가 채워지는 것 같다.

 

이렇게 코드에서 Good Skill!이라는 출력 값을 나타낼 수 있었고,

/usr/bin/bof를 실행시켜 같은 값을 입력해주었다.

 

'<CTF> > <HackerSchool FTZ>' 카테고리의 다른 글

[10] hackerschool FTZ :: level10  (0) 2020.08.20
[08] hackerschool FTZ :: level8  (0) 2020.08.13
[07] hackerschool FTZ :: level7  (0) 2020.08.13
[06] hackerschool FTZ :: level6  (0) 2020.08.01
[05] hackerschool FTZ :: level5  (0) 2020.08.01