관리 메뉴

HeeJ's

[05] hackerschool FTZ :: level5 본문

<CTF>/<HackerSchool FTZ>

[05] hackerschool FTZ :: level5

meow00 2020. 8. 1. 10:57

hint 파일을 열어보면

tmp 파일이란

.tmp라는 확장자를 가지며 어떤 프로그램이 내부적으로 사용하기 위해 임시로 만들어 놓은 파일

삭제가 되지 않는 경우에는 사용중이라는 뜻이고, 모든 프로그램을 정상 종료한 후에는 삭제해도 무방하다.

윈도우나 도스의 TEMP 또는 TMP라는 환경변수는

"임시 폴더" 즉 "임시 디렉토리"를 가리키는 환경변수이다.

 

많은 프로그램들이 실행 중에 각종 임시 파일들을 만들어 사용하고, 특정 폴더에 모든 임시 파일들을 만들어 관리하기 쉽도록 한다. 

[출처] http://mwultong.blogspot.com/2007/11/tmp-temp.html

 

level6의 SETUID 권한을 가진 실행 파일을 찾아주었고,

/usr/bin의 level5를 실행하면 tmp의 임시 파일이 생기고, 이 임시 파일을 확인해보면 되는 문제인 것 같다.

 

/usr/bin/level5를 실행시킨 후,

/tmp 디렉토리로 이동해보았다.

 

보여야할 tmp파일이 보이지 않았다.

 

아마도 level5가 실행이 끝난 후,

tmp파일이 삭제된 것 같다.

 

그렇다면 같은 이름의 tmp파일을 미리 생성해놓은 후,

level5를 실행시켜 tmp파일을 덮어쓰게 만든다면

level5.tmp파일의 내용을 확인할 수 있을 것이다.

 

touch명령어를 이용해 level5.tmp를 만들어주었고,

다시 /usr/bin으로 돌아가 level5를 실행시켜주었다.

level5.tmp 파일의 크기가 증가한 것을 확인할 수 있었고,

이 파일을 내용을 열어보면

 

level6의 패스워드를 얻을 수 있다.

 

'<CTF> > <HackerSchool FTZ>' 카테고리의 다른 글

[07] hackerschool FTZ :: level7  (0) 2020.08.13
[06] hackerschool FTZ :: level6  (0) 2020.08.01
[04] hackerschool FTZ :: level4  (0) 2020.07.25
[03] hackerschool FTZ :: level3  (0) 2020.07.25
[02] hackerschool FTZ :: level2  (0) 2020.07.23