Wargame/FTZ

FTZ level3 Write-Up

0xe82de_ 2019. 7. 22. 02:27
728x90
728x90
728x90

FTZ level3 풀어보자.

 

[사진 1]

hint의 autodig의 소스를 보면 autodig에 전달한 첫 번째 인자를 "dig @" 뒤에 붙이고 " version.bind chaos txt" 문자열을 추가로 붙인다.

 

즉 "dig @"+"argv[1]"+" versiong.bind chaos txt"가 될 것이다.

합쳐진 이 문자열은 system 함수로 실행하게 되는데, dig 명령어는 네임서버로부터 정보를 가져오는 기능이 있다.

 

more hints를 보면 동시에 여러 명령어를 사용하라는 뜻인데 리눅스에서는 쉘에서 세미콜론(;)을 이용하여 여러 명령어를 한 번에 실행할 수 있다.

 

 

[사진 2]

위와 같이 'id;ls' 명령어를 실행시키면 id 명령어가 실행되고 ls 명령어가 실행된다.

 

[사진 3]

그리고 autodig은 level4 계정이 소유한 파일이고 setuid 권한이 설정되어 있기 때문에 autodig 실행 시 level4 권한으로 실행될 것이다.

 

 

[사진 4]

따라서 위와 같이 명령어를 입력하면 'dig' 명령어는 오류가 나고 'my-pass' 명령어가 실행되어 level4 계정의 Password를 확인할 수 있다.

728x90
728x90