FTZ level3
패스워드를 치고 들어가서
hint파일을 확인한다.
hint파일에는
c언어로 된 파일이 적혀있다.
해석하자면 아무것도 입력되지
않을 때는 if문을 실행해서 “Auto Digger Version….”이라는 문자열을 출력한다.그리고 프로그램을 종료시킨다.
그렇지 않다면 if문을 무시하고
strcpy코드부터 실행한다. cmd라는 문자열에 “dig %”를 넣어주고 두 번째로 입력한 문자열(arvg[1])을 이어 붙인 다음
“Version.bind chaos txt”를 이어 붙인다. system함수를 통해 cmd에 들어있는 문자열이 의미하는 프로세스를 실행시킨다.
more hints를 살펴보자.
동시에 여러 명령어를 사용하기
위해서는 ;(세미클론), 문자열 형태로 명령어를 전달하려면 “(큰따옴표)를
사용하면 된다.
find 명령어를 통해
SetUID를 찾았다.
위치는
/bin/autodig 라는 파일이 나온다.
autodig라고 입력해 보았더니
여기에 대한 정보가 나왔다.
일단 cd명령어를 통해
/bin으로 갔다. 여기에 autodig라는 파일이 있지만 직접 실행이 되지 않았다. 그럼 위에서 본 autodig의 코드를 살펴보자. 일단 autodig라는 파일명 말고도
다른 것을 입력해야 한다. 그래서 arvg[1]이 생기기 때문에. 하지만
arvg[1]까지만 있는 걸 보아선 한 줄의 명령어만 더 할 수 있다. 따라서 more hints의 첫번째 조건이 필요하게 된다.
실행해야 할 명령어는 2개이다.
level4의 쉘을 얻는 것과 level4의 password를 얻는 것. 필요한 명령어는 /bin/bash 와 my-pass 이다. 이 두가지의
명령어를 “/bin/bash;my-pass” 처럼 연결시켜 주면 된다. 코드를 보면 입력받은 명령어를 cmd에 넣어야 하기 때문에 큰따옴표를 사용해
명령어를 문자열로 받아준다. 이렇게 받은 명령어는 system 함수를 통해
실행되고 level4의 password를 얻게 된다.
참고:


댓글
댓글 쓰기