level 3 로그인 후 hint를 열어본다.
level 3 hint는 C언어 코드가 나온다.
C언어 코드가 뭔지는 모르겠지만, 이전 level들과 같은 느낌의 파일이다. 실행시켜봐야 할 것 같다.
실행시켜보았지만 용법에 맞지 않는다고 오류가 실행된다. C언어 코드를 분석할 필요가 있어 보인다.
코드를 분석하기 전에 dig에 대해서 간단히 배워보자.
dig
dig는 Domain Information Groper의 약자로 DNS로부터 정보를 가져올 수 있는 도구다.
생활코딩에서 DNS의 동작 원리 강좌를 봤을 것이다. 제목은 DNS의 동작 원리였지만 dig의 동작 원리라고도 생각한다. dig가 DNS를 통하여 정보를 가져오기 때문이다. 그래서 강좌에서는 dig의 사용법이나 dig의 문법을 알려주진 않지만, dig의 동작 원리를 알려준다고 생각했다.
dig를 실행하니 생활코딩 강좌에서 나왔던 것과 같이 root 서버가 나온다. dig를 사용해 host에 네이버를 넣어보았다.
dig는 DNS를 통해 host에 대한 정보를 알 수 있다.
dig를 사용하면 우리가 아는 많은 host에 대한 정보를 알 수 있다
C언어 코드 분석
argc
argc는 arguments count로 main 함수에 전달된 인자의 개수를 의미한다.
argv
argv는 arguments vector로 가변적인 개수의 문자열이다.
위에서 autodig를 실행했을 때 오류가 난 이유는 인자값을 주지 않았기 때문에 오류가 발생한 것이다.
결론은 더보기에 나와 있다.

이 힌트만 잘 생각해도 엄청나게 쉬운 문제다.
동시에 여러 명령어를 사용하는 방법은 생활코딩 리눅스 강좌에서 배웠다.

CLI는 순자 적으로 실행하기 때문에 mkdir로 why라는 디렉터리를 만들고 cd로 why 디렉터리로 이동하는 명령어를 한 번에 입력하면 동시에 여러 명령어를 사용한 것이 된다.
my-pass로 비밀번호를 알아내야 한다. 동시에 여러 명령어를 사용하지만 그중 하나는 my-pass가 되어야 한다.

문자열 없이 실행하면 level 3의 비밀번호가 나온다.
문자열 형태의 명령어는 C언어에서와같이 ( " ) 큰따옴표로 문자열을 만들어 주면 된다.

문자열 포함 실행 하면 level 4의 비밀번호가 나온다.
사실 C언어 코드를 분석하지 않아도 more hints만 잘 생각해보면 알 수 있는 문제다.
'System Hacking > 해커스쿨 F.T.Z Hacking Zone' 카테고리의 다른 글
해커스쿨 F.T.Z Level 6 (0) | 2020.02.13 |
---|---|
해커스쿨 F.T.Z Level 5 (0) | 2020.02.11 |
해커스쿨 F.T.Z Level 4 (0) | 2020.02.07 |
해커스쿨 F.T.Z Level 2 (0) | 2020.02.05 |
해커스쿨 F.T.Z Level 1 (0) | 2020.02.05 |
댓글