스터디 그룹/ProjectH4C

ProjectH4C 3개월 2주차 과제 (해커스쿨 ftz - 3)

문제를 계속 풀어보자.


📖 1) 문제 파악

우선 autodig의 경우 약간 nslookup과 비슷한 느낌인 것 같다.

 

우선 한 명령에 두 개의 명령을 내려야 할 것 같다.

이제 퍼미션이 걸린 파일을 찾아보도록 하자.

 

/bin/autodig 이다.

 


📖 2) 문제 분석

만약에 autodig 프로그램을 실행하며 naver.com을 넘겨준다는 가정을 해보자.

 

첫 번째 strcpy 명령에 의해 cmd는 "dig @" 이 된다.

두 번째 strcat 명령에 의해 cmd는 "dig @naver.com"이 된다.

세 번째 strcat 명령에 의해 cmd는 "dig @naver.com version.bind chaos txt" 가 된다.

결국 우리는 이걸 system 함수로 실행하는 것이다.

 

만약 인자를 넘길 때 naver.com;ls; 를 입력하게 되면 어떻게 될까.

 

cmd는 최종적으로 dig @naver.com;ls; version.bind chaos txt 이렇게 구성될 것이다.

 

그리고 system 명령으로 실행하게 된다면

dig @naver.com

ls

version.bind chaos txt

 

이렇게 세 가지 명령이 실행되게 된다.

 

실행되는 것이 잘 확인된다.

 


📖 3) 문제 풀이

이전에는 /bin/autodig "naver.com;ls;" 를 실행하였다.

이번엔 /bin/autodig "naver.com;my-pass;"를 실행해보겠다.