정보보안/FTZ

[FTZ]level3

b1ackhand 2022. 7. 14. 23:39

level 3의 hint를 보면 autodig에 대해서 보여준다.

 

argc, argv는 프로그램에 넘겨주는 인자로 

argc는 넘기는 정보의 개수

argv는 넘겨주는 문자열 배열을 의미한다.

argv[0]은 항상 실행 경로이다.

 

코드를 보면 입력받은 값을

dig@"asdf" version.bind chaos txt 형태로 system으로 넘기는것 같다.

autodig 라는 프로그램이 있는것을 알았으니 위치를 찾아보았다.

 

실행을 하니 autodig의 Usage를 출력하고 있다.

/bin/autodig host

형태로 사용하는 것이다.

 

위의 힌트중

 

- 동시에 여러 명령어를 사용하려면?

;를 이용한다. ex) ls -al;id;

- 문자열 형태로 명령어를 보내주려면

""를 이용한다.

 

위 둘을 이용하여

/bin/autodig ";my-pass"

다음과 같이 보내게 되면 실제로 시스템이 받는것은

dig@"asdf"; my-pass version.bind chaos txt

가 되어

dig@"asdf";

my-pass version.bind chaos txt

다음과 같이 두개의 명령이 실행되고

level4의 권한으로 my-pass가 실행되게 된다.