hint를 확인한 결과입니다.
힌트대로 /usr/bin/level5를 실행하고 /tmp 디렉토리를 확인해보았지만 임시파일은 존재하지 않았습니다. 이를 통해 임시파일은 프로그램이 종료되기 전에 삭제됨을 알 수 있습니다.
그렇다면, 임시 파일이 삭제되기 전에 파일을 어떻게 가로챌 수 있을까요? (삭제 되기 전 파일의 내용을 확인하는 방법)
바로 심볼릭 링크를 이용하면 됩니다.
심볼릭 링크란? 어떤 파일을 가르키는 파일로 windows의 바로가기와 비슷한 개념입니다.
ln -s 목표파일 새로만들 파일
먼저 /tmp 폴더에 test 파일을 만들어주고, 심볼릭 링크를 통해 level5.tmp 파일이 test 파일을 가르키도록 합니다.
cd /tmp
touch test
ln -s test level5.tmp
그 결과, level5.tmp가 test 파일을 가르키고 있음을 알 수 있으며,
심볼릭 링크를 통해 /usr/bin/level5이 실행되고 level5.tmp가 지워지기 전에 level5.tmp의 내용이 고스란히 test 파일에 담기게 될 것입니다.
그렇게 되면 level5.tmp 파일이 지워져도 test 파일의 내용을 확인해 level5.tmp 파일 내용 확인이 가능할 것입니다.
실제로 /usr/bin/level5 실행 후 /tmp 디렉토리를 확인해보니 test 파일의 용량이 커져있었으며, 파일에는 level5.tmp의 내용이 들어가 있음을 짐작할 수 있습니다.
예측대로 test 파일에는 level 6의 비밀번호가 담겨있었습니다.
'Wargame > Hackerschool FTZ' 카테고리의 다른 글
[FTZ] 해커스쿨 FTZ level 7 (0) | 2021.03.23 |
---|---|
[FTZ] 해커스쿨 FTZ level 6 (0) | 2021.03.23 |
[FTZ] 해커스쿨 FTZ level 4 (0) | 2021.03.23 |
[FTZ] 해커스쿨 FTZ level 3 (0) | 2021.03.23 |
[FTZ] 해커스쿨 FTZ level 2 (0) | 2021.03.23 |