정보보안/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가 실행되게 된다.