System Hacking
[해커스쿨FTZ] Level3
BIGFROG
2020. 1. 6. 17:19
힌트를 보면 소스코드를 볼 수 있는데,
내가 입력한 값이 host부분이 되어,
dig @ host version.bind chaos txt
라는 값이 된다.
리눅스에서 dig라는 명령어가 있는데,
DNS를 조회하는 명령어이다.
특히 이 문제에서는 bind 버전을 알아내는 용도로 사용이 되었다.
more hint에서,
동시에 여러 명령어를 사용하라는 힌트가 있었는데,
리눅스에서 이는 세미콜론(;)을 사용하여 해결이 가능하다.
명령어;명령어 형태로 값을 주면 여러 명령어를 동시에 실행할 수 있다.
두 번째 힌트로 문자열 형태로 명령어를 전달하라는 힌트가 있었다.
이는 ""따옴표로 묶어줌으로써 가능하다.
이전 문제와 마찬가지로,
find / -user level4 -perm -4000을 이용해 파일을 찾는다.
autodig라는 파일을 찾았고, 처음 힌트에서 본 소스코드대로 동작하는 듯 하다.
추가로 인자를 주면서 실행시켜야하는데, host는 간단하게 www.google.com으로 주었다.
실행시킬 때는, autodig "www.google.com;my-pass" 로 입력해주면
my-pass명령이 SETUID가 level4인 파일이 실행되는 동안 실행되므로,
level4의 flag를 얻을 수 있다.