ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [F.T.Z] Level 3
    Wargame/F.T.Z 2022. 9. 18. 08:34
    반응형

    Level 3을 풀어보자.

    이번 문제를 풀기 위해서는 c언어로 작성된 코드를 해석할 수 있어야 한다.

     

    Level 3의 hint 파일을 살펴보면 소스 코드가 나타난다.

    그리고 소스 코드의 하단에 이것을 이용해 문제를 해결할 때 도움이 될 more hints가 두 개 있다.

    <Level 3의 hint>

    hint 파일을 해석하면 우선 char 형으로 선언된 cmd에 100의 공간을 부여한다.

    argc가 2가 아니라면 if 문을 수행하여 printf의 두 줄을 출력하고 실행을 종료한다.

    argc가 2라면 strcpy로 "dig @"를 cmd에 복사한다.

    그 후 strcat으로 argv[1]의 문자열을 cmd에 이어 붙인다.

    또 " version.bind chaos txt" 문자열을 cmd에 이어 붙인다.

    마지막으로 cmd 배열의 내용들을 실행시키고 종료한다.

    소스 코드 해석부터 명령들에 대한 구글링을 열심히 했다..

     

    소스 코드 해석 후, 우선 hint 파일에서 언급한 autodig 파일이 어디 있는지 find 명령어로 확인한다.

    그리고 찾은 /bin/autodig 파일을 실행해보면 뒤에 host를 입력하라는 사용법이 나타난다.

    <autodig 파일 사용>

     

    more hints에서 언급한대로 문자열로 명령어를 입력하기 위해, cmd 배열에 " "를 이용해 host를 입력한다.

    그러나 argc가 1이어서 그런지 if 문이 실행되었다.

    more hints의 다른 힌트인 동시에 여러 명령어를 사용하기 위해 [명령어];[명령어]를 입력한다.

    dig @에 대입되는 첫 명령어 이후 cmd의 명령어가 실행되게 하기 위해 my-pass를 뒤에 입력하였다.

    그랬더니 비밀번호가 나타났다.

    <나타난 비밀번호>

    반응형

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

    [F.T.Z] Level 6  (2) 2022.09.21
    [F.T.Z] Level 5  (0) 2022.09.18
    [F.T.Z] Level 4  (0) 2022.09.18
    [F.T.Z] Level 2  (0) 2022.09.18
    [F.T.Z] Level 1  (0) 2022.09.18

    댓글

Designed by Tistory.