본문 바로가기

* Wargame/F.T.Z

F.T.Z - level4



ftz level4 문제풀이를 시작한다.

일단 cat hint 를 통해 힌트를 먼저 보았다.


/etc/xinetd.d/ 에 backdoor 를 심어놓았다고 한다. backdoor란? 그대로 해석하면 뒷문이라는 것인데 말그대로 침입할 수 있는 경로 이기도 하다.
ls - al /etc/xinetd.d/ 를 입력하여 알아보았다.
3번째 줄에 backdoor 가 있는 것이다.
그래서 일단 cd /etc/xinetd.d/ 로 들어가서 ls -l 을 다시 입력해보았다.
backdoor 가 있다.


위에 그림은 backdoor.c 프로그램을 만든 후 보여준 사진이다.
위에 #include <studio.h>를 잘못 입력하였다.
원래 문제를 풀 때에는 cd /etc/xinetd.d/ 에 들어간 후 vi backdoor.c 로 vi 에디트으로 들어가서 
#include <studio.h>

int main()
{

system("my-pass");

return 0;
 


를 입력하고 ESC를 누른 후 wq 를 입력하면 저장과 끝내기가 된다. 

return 은 현재 있는 함수에서 빠져나가며 그 함수를 호출했던 곳으로 되돌아 가라는 뜻입니다.
되돌아 가면서 그 함수를 호출했던 곳 즉 calling routine 에 어떤 값을 반환하는 것입니다.


return 0; 는 0 이라는 값을 반환하라는 의미이고
return 1; 은 1 이라는 값을 반환하라는 뜻입니다.

return 은 함수의 어떤 곳에서도 위치할 수 있는데, return 이 실행되는 즉시 그 함수는 무조건 실행이 종료됩니다.
즉, 현재의 함수에서 빠져 나가라는 의미입니다. 

위에 file backdoor 를 살펴보면 ASCII text 이고, cat backdoor 를 보면 user=level5 이다.

 server=/home/level4/tmp/backdoor 그래서 tmp안에 들어있다고 하는 것 같다.

그래서 cd ~/tmp를 입력하여 tmp로 들어가고 vi backdoor.c 를 수정하면 된다.

vi 파일이 완성이 되었으면finger @localhost 라고 입력하면 
패스워드가 뜬다.



'* Wargame > F.T.Z' 카테고리의 다른 글

F.T.Z - level6  (2) 2012.07.05
F.T.Z - level5  (0) 2012.07.05
F.T.Z - level3  (0) 2012.02.28
F.T.Z - level2  (0) 2012.02.09