CTF/FTZ

Hackerschool FTZ Level 3

ispini 2025. 11. 4. 21:46

힌트 파일을 열어보니 다음과 같이 나온다.

코딩이라 좀 골치 아플 것 같다.

 

setuid를 찾아보니 위에서 보았던 autodig란 파일이 하나 보인다.

저 파일을 써 먹는 게 맞나 보다.

 

저 파일을 실행해 보니 다음과 같이 결과가 나온다.

 

일단 strcpy는 문자열 복사로 dig @란 문구를 cmd에 새로 붙여넣고,

그 뒤의 strcat는 각각 argv[1](내가 넣은 값의 두 번째, 띄어쓰기로 구분하는 듯 하다)과

version.bind chaos txt란 텍스트를 순서대로 이어 붙인다는 뜻이다.

 

근데 코드의 저 dig @가 뭘 뜻하는 건지 모르겠어 찾아보니, dns 정보를 조회하는 명령어라고 한다.

그리고 아까 힌트에서 인자 값이 2개가 아니면 바로 윗 사진과 같이 출력했으니, autodig 뒤에

아무 dns나 넣어본다.

 

확실히 아까 autodig만 넣었을 때와는 다르게 뭔가 많은 정보가 뜬다.
근데 여전히 감은 잘 안 잡힌다. 뭔가 dns 조회 기능으로 찾아야 하는 건가?

 

아까 나왔던 추가 힌트를 다시 살펴봤다.

일단 autodig가 setuid가 걸린 파일이니, 해당 파일을 실행해서 셸을 얻어야 하는 건 확실하고,

여러 명령어를 사용하면서 문자열 형태로 명령어를 전달하라고 했으니 autodig 실행으로 클리어해야 한단 소리일텐데,

 

명령어 여러 개를 동시에 실행하려면 세미콜론(;)을 쓰면 된다고 배운 적 있으니 일단 써 본다.

 

안 된다. 먹통 되더니 그냥 실행을 안 한다.

 

그러고 보니 echo 명령어를 실행할 때 큰따옴표를 써서 실습한 적이 있으니 한 번 각각 붙여서 시도해 본다.

여전히 안 된다. 알 듯 말 듯하다.

 

찾아보니 큰따옴표의 기능이 띄어쓰기를 포함한 긴 문자열을 출력할 때 사용하는 문구라고 한다.

그럼 이번엔 두 인자를 하나로 묶어서 출력해 본다.

 

다음과 같이 쳐 본다.

 

통과 하였다. 비밀번호와 함께 4단계로 넘어갈 수 있게 되었다.

'CTF > FTZ' 카테고리의 다른 글

Hackerschool FTZ Level 7  (0) 2025.11.27
Hackerschool FTZ Level 4  (0) 2025.11.13
Hackerschool FTZ Level 2  (0) 2025.11.03
Hackerschool FTZ Level 1  (0) 2025.11.03
Hackerschool FTZ Trainer 10  (1) 2025.11.03