FTZ level2 풀이과정과 새로 알게된 개념들을 정리했다.
전체적인 풀이 과정을 정리하자면
지난 레벨에서처럼 level3의 권한으로 setID가 걸린 것 검색 -> editor 실행 -> 아무 txt파일에 들어가기 -> vim 명령어를 통해 my-pass로 패스워드 획득
처음에는 언제나 그렇듯이 냅다 hint 열어보기
그래서 일단 find / -user level3 -perm -4000 으로 저번처럼 setID 권한을가진 파일을 검색했더니 유일하게 권한을 거부당하지 않은 editor발견
editor를 실행시키니까
이런 화면이 딱 뜸
그리고 여기서 막혀서 여기저기 헤집고 다닌듯
:help로 들어가서 뜨는 화면
두뇌 풀가동해서 해석도 해보고 막 그러다가
그냥 문득 vim이 뭐지 하고 구글링해보았다.
VIM (VI Improved = 향샹된 VI)
보통 윈도우 같은 Graphic User Interface (GUI) 환경에서 사용하는 word, 한글 등과 달리, 리눅스같은 Command Line Interface (CLI) 환경에서 사용하는 Text Editor
-> 따라서 키보드만을 이용하여 사용할 수 있음
여기서 감을 딱 잡음
editor는 level3의 권한으로 setID가 걸려있으니 아무 텍스트 파일에 들어가서 쉘 명령어로 my-pass 치면 되겠구나!!
근데,
첫번째 관문, 수정하려고 하면 Cannot make chaneges, 'Modifiable' is off 라는 에러가 뜸
-> 우리에겐 구글이 있음, :set modifiable으로 해제
두번째 관문, 텍스트파일을 열고 있는 와중에는 외무 명령어를 실행할 수 없음, 쉘으로 실행하려면 나가야함
-> 우리에겐 구글이 있음, 외부 명령어 실행결과를 텍스트파일에서 출력할 수 있음
:r ! my-pass 명령어 입력
우와!!! 끝!!
사실 막히면 한 5일 묵혀두고 이래서 푸는데 2주정도 걸린듯..
다음 레벨부터는 좀 진득하게 풀어볼 예정
이번 레벨풀이에서의 교훈 : 아는걸 활용할 생각에 모르는 걸 찾아내는 노력을 더하자