본문 바로가기

리버싱/FTZ

해커스쿨 FTZ Level2 (vi 취약점)

ID : level2

Password : hacker or cracker


힌트 : 




문제를 풀기 전에 : 


리눅스 텍스트 편집기 중 유명한 vi 에는 작업중 쉘명령어를 실행시킬 수 있는 기능이 포함되어 있다.

따라서 vi 편집기에서 쉘 명령어를 실행시킬 경우 프로세스가 가지고 있는 권한을 가질 수 있다.

vi를 백그라운드로 돌리고 쉘로 빠져나가는 방법은 esc를 누르고


 :sh 또는 :shell 또는 컨트롤+Z


를 통해 빠져나갈 수 있다.


만약 도중에 쉘명령어를 실행시키고 싶으면


 :! 명령어


를 이용하면 도중에 쉘명령어를 실행시킬 수 있다.



풀이 : 


우선 setuid가 level3으로 설정된 텍스트 편집기를 찾아보자.


 find / -user level3 -perm -4000 -print -xdev 




쉽게 찾을 수 있었다.


/usr/bin/editor을 실행하고 esc를 누른 뒤 :! my-pass를 입력해보자



입력하면 level3의 패스워드를 알 수 있다.