본문 바로가기

Wargame & CTF/Hackerschool FTZ

[해커스쿨] FTZ LEVEL9

[해커스쿨] FTZ LEVEL9 문제 풀이



ㅁ 문제 요약


 문제 유형

System Hacking

 문제 타입

Linux 

 문제 난이도


ㅁ 상세분석


[그림 1] 문제 내용


LEVEL9 계정으로 로그인 하고 hint 파일 내용을 보면 /usr/bin/bof 파일의 소스코드를 보여준다. 소스코드를 분석해서 if문 안에 있는 명령어를 실행하면 level10 계정 권한을 획득할 수 있다.


[그림 2] /usr/bin/bof 소스코드 분석


buf2, buf 두 개의 변수를 각각 10 바이트씩 선언하고 fgets 함수를 이용해서 buf 변수에 입력 받는데 40 바이트를 입력받을 수 있도록 해서 buf2 영역을 침해할 수 있다. if문 안에 있는 명령어를 실행해야 하는데 buf2 변수에 go라는 문자열이 존재하면 if문이 실행된다. 즉 go 문자열을 40바이트 사용하면 통과할 수 있다.


[그림 3] 문제 결과


gogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogogo 문자열을 입력 값으로 넣어주면 level10 권한의 shell을 획득하게 된다. my-pass 명령어를 실행하면 level10 권한의 패스워드를 획득할 수 있다.



'Wargame & CTF > Hackerschool FTZ' 카테고리의 다른 글

[해커스쿨] FTZ LEVEL11  (0) 2016.01.04
[해커스쿨] FTZ LEVEL10  (0) 2015.12.31
[해커스쿨] FTZ LEVEL8  (0) 2015.12.30
[해커스쿨] FTZ LEVEL7  (0) 2015.12.29
[해커스쿨] FTZ LEVEL6  (0) 2015.12.28