yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆

FTZ level5 풀이 본문

wargame 풀이/FTZ

FTZ level5 풀이

yehey 2020. 9. 14. 18:07
id: level5
pw: what is your name?

level5에 로그인, ls -l 명령어 이용

 

ls -l

hint 파일을 읽어보자 (cat hint)

 

hint 내용

hint의 내용대로 /usr/bin으로 이동해서 level5를 실행시켜보고 

/tmp로 이동해서 level5.tmp가 생성되었는지 확인해보자

 

level5 실행 후 /tmp 디렉토리 확인

level5 파일이 /usr/bin에 존재하는 것과 setuid가 걸려있는 것도 확인할 수 있다. 

그러나 level5 파일을 실행시킨 후 /tmp로 이동했을 때 level5.tmp라는 파일은 생성되어있지 않았다.

(지운 부분은 관련없어서 지웠음)

 

이건 무슨 의미일까??

->level5를 실행시켰을 때 /tmp에 level5.tmp가 생성되지만 프로그램 종료와 함께 파일이 삭제된다.

->따라서 삭제되기 전에 파일을 가져와야 한다.

 

(도저히 모르겠어서 구글링 했음....

Linux의 symbolic link(심볼릭 링크)를 사용해야한다는 결론을 얻었다.)

 

Symbolic Link (심볼릭 링크)
: 링크를 연결하여 원본 파일을 직접 사용하는 것과 같은 효과를 내는 링크 (윈도우 바로가기랑 비슷)
특정 폴더에 링크를 걸어 NAS, library 원본 파일을 사용하기 위해 심볼릭 링크를 사용한다.

사용법: ln -s [타켓] [링크 걸 파일 이름]

 

/tmp로 이동해서 level5.tmp를 attackit 파일로 심볼릭 링크를 걸어보자

링크를 걸기 전에 attack이라는 파일을 만들어야 하기 때문에 touch를 이용해 비어있는 파일을 만들어보자

(touch attackit)

 

attackit 파일이 생성되었다.

사진처럼 attackit 파일이 생성된 것을 확인 할 수 있다. 비어있는 파일이기 때문에 크기가 0바이트이다.

이제 attackit에 level5.tmp 심볼릭 링크를 걸 것이다.

(ln -s attackit level5.tmp)

 

심볼릭 링크 건 결과

level5.tmp와 attackit 사이에 링크가 걸렸다!

심볼릭 링크가 걸렸기 때문에 level5.tmp가 생성되고 내용이 입력되면 attckit 파일에도 동일하게 내용이 입력된다.

level5.tmp가 삭제되도 attackit에 쓰여진 내용은 삭제되지 않기 때문에 

우리는 level5.tmp의 내용을 attackit을 통해 읽을 수 있다!!!

 

다시 /usr/bin로 이동해서 level5를 실행해보자!

 

level5 실행 후 /tmp 디렉토리 정보 확인

level5 실행 후 /tmp 디렉토리 정보를 불러왔다.

0바이트였던 attackit이 31바이트로 바뀐 것을 볼 수 있다. (level5.tmp의 내용이 잘 들어간 듯 하다)

이제 attackit 파일을 읽어보자!

 

cat attackit

attackit 파일에는 level6의 pw가 저장되어 있었다.

 

level6의 pw: "what the hell"

'wargame 풀이 > FTZ' 카테고리의 다른 글

FTZ level7 풀이  (0) 2020.09.16
FTZ level6 풀이  (0) 2020.09.15
FTZ level4 풀이  (0) 2020.09.13
FTZ level3 풀이  (0) 2020.09.12
FTZ level2 풀이  (0) 2020.09.12
Comments