FTZ level3 Write-Up
2019. 7. 22. 02:27
728x90
728x90
728x90
FTZ level3 풀어보자.

hint의 autodig의 소스를 보면 autodig에 전달한 첫 번째 인자를 "dig @" 뒤에 붙이고 " version.bind chaos txt" 문자열을 추가로 붙인다.
즉 "dig @"+"argv[1]"+" versiong.bind chaos txt"가 될 것이다.
합쳐진 이 문자열은 system 함수로 실행하게 되는데, dig 명령어는 네임서버로부터 정보를 가져오는 기능이 있다.
more hints를 보면 동시에 여러 명령어를 사용하라는 뜻인데 리눅스에서는 쉘에서 세미콜론(;)을 이용하여 여러 명령어를 한 번에 실행할 수 있다.

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

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

따라서 위와 같이 명령어를 입력하면 'dig' 명령어는 오류가 나고 'my-pass' 명령어가 실행되어 level4 계정의 Password를 확인할 수 있다.
728x90
728x90
'Wargame > FTZ' 카테고리의 다른 글
| FTZ level6 Write-Up (0) | 2019.07.23 |
|---|---|
| FTZ level5 Write-Up (0) | 2019.07.23 |
| FTZ level4 Write-Up (0) | 2019.07.23 |
| FTZ level2 Write-up (0) | 2019.07.22 |
| FTZ level1 Write-Up (0) | 2019.07.22 |