-
[FTZ]해커스쿨(HackerSchool) LEVEL9 풀이(Solution)미사용/##Security 2015. 7. 28. 14:47
HackerSchool FTZ WARGAME Solution
Start : 15.07.03
LEVEL9
[그림 1]
level9의 hint 를 보면 [그림 1] 과 같이 /usr/bin/bof 프로그램의 소스 코드가 있다. 소스 코드를 보면 buf2와 bof 배열이 각각 10칸씩 선언이 되어있고, fgets 로 40byte 만큼 buf 배열에 입력받는다.
입력받는건 buf지만 strncmp 로 비교하는 배열은 buf2 인걸 보니 버퍼 오버플로우를 이용해서 buf2에 "go" 라는 문자열이 저장되도록 해야 하는 것 같다.
[그림 2]
gdb 를 이용해서 buf 배열에 할당 된 공간을 확인하려 했으나 허가 거부가 되었다. 이유를 보니 /usr/bin/bof 에 권한이 그룹에 포함된 계정의 경우 실행 권한만 있고 읽기, 쓰기 권한이 없었다. 때문에 gdb 로 분석을 할 수 없었다.
[그림 3]
그래서 결국엔 추측으로 앞에 아무 의미 없는 dummy 값을 11개부터 시작해서 하나씩 늘려가면서 오버플로우를 했다. 그렇게 dummy 값이 16개가 된 순간 level10으로 권한이 상승 되었다.
'미사용 > ##Security' 카테고리의 다른 글
[SystemHacking] 간단한 쉘 코드(ShellCode) 제작하기 (1) 2015.07.28 [FTZ]해커스쿨(HackerSchool) LEVEL10 풀이(Solution) (0) 2015.07.28 [FTZ]해커스쿨(HackerSchool) LEVEL8 풀이(Solution) (0) 2015.07.28 [FTZ]해커스쿨(HackerSchool) LEVEL7 풀이(Solution) (0) 2015.07.28 [FTZ]해커스쿨(HackerSchool) LEVEL6 풀이(Solution) (0) 2015.07.28