해커스쿨 ftz 문제풀이 / level5
level6의 권한을 얻는 문제입니다.
/usr/bin/level5 프로그램은 level6에 setuid가 설정되어 있습니다.
이 프로그램을 실행시키면 /tmp 디렉토리에 level5.tmp를 생성한다고 합니다.
하지만, /tmp/에 가보면 level5.tmp 라는 파일은 찾을 수 없습니다.
이는 /tmp/level5.tmp를 생성하고 바로 지우는 것을 유추할 수 있습니다.
이 파일을 지우는 것은 /tmp/level5.tmp 파일이 level6 권한으로 만들어 졌기 때문입니다.
그러면 /tmp/level5.tmp 파일을 level5의 권한으로 만들면, /usr/bin/level5 프로그램 실행시켜도 해당 파일이 삭제되지 않을 것입니다.
level5.tmp를 level5의 권한으로 생성합니다.
파일 내용 없이 만드니깐 크기는 0이 됩니다.
그리고 나서 /usr/bin/level5를 실행시킵니다.
그러면 /tmp/level5.tmp 파일 내용을 업데이트 하였지만, 이 파일에 대한 소유자는 level5이기 때문에 삭제하지는 못하게 되어 파일이 그대로 남아 있습니다. 파일 크기를 보면 약간 증가한 것을 볼 수 있습니다.
이 파일의 내용을 보면 다음 레벨의 패스워드가 있는 것을 볼 수 있습니다.
'WarGame > 해커스쿨 ftz' 카테고리의 다른 글
해커스쿨 ftz 문제풀이 / level7 - 2진수 ASCII CODE (0) | 2020.11.24 |
---|---|
해커스쿨 ftz 문제풀이 / level6 (0) | 2020.11.18 |
해커스쿨 ftz 문제풀이 / level4 - backdoor (0) | 2020.11.14 |
해커스쿨 ftz 문제풀이 / level3 (0) | 2020.11.05 |
해커스쿨 ftz 문제풀이 / level2 (0) | 2020.11.05 |