힌트 읽고..
/usr/bin/level5 파일이 level6 권한을 가지고 있다...
임시 파일 생성이라고 하니까 레이스컨디션 공격이 생각난다. 레이스 컨디션 공격은 대상이 소유자가 root고 SetUID가 설정되어 있으며, 임시 파일을 생성하는 프로그램인데.. root가 아닌 level5보다 권한이 높은 level6여도 해당이 되는지는 잘 모르겠다.
심볼릭 링크에 대해 알고 있는건.. 현재 /usr/bin/level5 프로그램이 실행되면 /tmp 디렉터리에 level5.tmp라는 파일을 생성한다고 하는데.. level5.tmp이 미리 생성되어 있으면 굳이 이 파일을 실행하지 않는다는 것이다.
/usr/bin/level5 프로그램을 실행하고 나서 /tmp 디렉터리에 갔더니 level5.tmp 파일이 보이지 않았다. 아마 실행 후 바로 파일을 삭제하는 것 같다.
심볼릭 링크 기본 문법은 ln -s 원본파일명 링크파일명
temp 파일을 새로 생성해 심볼릭 링크를 연결했다.
temp -> level5.tmp 의 뜻은 temp 파일이 level5.tmp에 연결되어 있다는 뜻. 원본 파일이 오른쪽 level5.tmp 파일이라는 것이다.
근데 원본파일이 level5.tmp가 되면 안되고, temp가 원본 파일이 되어야 한다,,
level5.tmp가 생성될 때 temp에도 덮어씌우는건데.. 이 부분이 좀 헷갈린다.
권한 때문에 일단 level5라는 파일을 vi 명령어로 생성해줬다. touch 명령어를 써도 된다.
ln -s level5 level5.tmp를 해주고, /usr/bin/level5를 실행해주면 됨.
'CTF, 워게임 문제 풀이 > Hackerschool FTZ' 카테고리의 다른 글
Hackerschool FTZ: Level 7 문제 풀이 (0) | 2023.03.01 |
---|---|
Hackerschool FTZ Level 6 문제풀이 (0) | 2023.02.16 |
Hackerschool FTZ: Level 4 문제 풀이 (0) | 2023.01.30 |
Hackerschool FTZ: Level 3 문제 풀이 (0) | 2023.01.15 |
Hackerschool FTZ: Level 2 문제 풀이 (0) | 2023.01.07 |
댓글