Never Stop Running
[FTZ] level 3 -> level 4 본문
힌트를 보니 autodig라는 파일의 소스를 보여주고 있다. 이것을 이용해 level4의 권한을 얻으라는 것을 보아 이 파일에는 level4의 setuid가 걸려있다는 것을 알 수 있다.
그리고 소스파일을 분석해보면 autodig를 실행함과 동시에 인자값을 넣는데 argc = 2가 아니라면 "Auto Digger Version 0.9 Usage : autodig host"라고 출력된다. 만약 인자값이 argc = 2라면 "dig @ argv[1] version.bind chaos txt"라는 것이 system함수를 통해 실행된다.
그러니까 argc = 2인 상태로 쉘을 띄우거나 my-pass를 해야 한다.
그러려면 두 가지 이상의 명령어를 한꺼번에 하는 방법을 알아야 하는데 이는 세미콜론(;)을 통해 할 수 있다. 리눅스에서 세미콜론은 하나의 명령어 라인에서 여러 개의 명령을 실행할 수 있는 다중명령어를 가능하게 한다.
일단 find 함수를 이용하여 'autodig' 위치를 찾았다.
autodig를 실행시키고 인자값으로 ';bash;'를 넣어주었다.
작은따옴표로 감싸는 이유는 문자열처럼 보이기 위함이다.
만약 작은따옴표로 감싸지 않고 /bin/autodig ;bash;으로 실행했으면 autodig라는 파일이 실행되고나서 bash가 실행되기 때문에 level3의 권한으로 쉘이 실행된다.
Next
ID : level4
PW : suck my brain
'Training > FTZ' 카테고리의 다른 글
[FTZ] level 4 -> level 5 (0) | 2016.09.13 |
---|---|
[FTZ] level 2 -> level 3 (0) | 2016.09.13 |
[FTZ] level 1 -> level 2 (0) | 2016.09.12 |
Comments