|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3289 [복사]
ftz 레벨3 에 autodig 소스를 보면
strcpy(cmd, "dig @");
strcat(cmd, argv[1]);
strcat(cmd, "version.bind chaos txt");
system(cmd);
이렇게 되어있잖아요~ 여기서 레벨4의 비밀번호를 얻을려면 , 현재 bin 디렉토리에 있다고 치면
autodig "/bin/bash; my-pass" 처야 하잖아요. 근데 이렇게 입력하고 만약 cmd를 printf 함수로 출력한다면
printf("dig @ %s version.bind chaos txt", *argv[1]); 랑 똑같은거 아닌가요? 여기서 제가 궁금한게
dig @ 이거뒤엔 무슨 호스트 주소? 이런게 들어가야 하는데 autodig 해노코 argv[1] 의 포인로 "/bin/bash;my-
pass" 명령어가 바로 사용될 수 있느냐는거에요ㅜ 으아아아 잠이와서 그런지 이상한 헛소리 하고있는것 같기도
하고ㅜㅜ
진짜로 제가 질문할 걸 여기다가 적을게요.
1. autodig "/bin/bash; my-pass"를 입력한다면 autodig에 명령문자열이 /bin/bash; my-pass가 전달되는건데
제가 생각하기로는 결국 cmd 내용이 dig @ /bin/bash; my-pass 이렇게 될텐데 왜 오류나, command not
found 이런게 안뜨냐는 거에요
2. 또 궁금한게 autodig "/bin/bash" 이렇게 입력하면 왜 dig 에 관한 오류가 뜨는걸까요? '/bin/bash'라는 서버
Name을 찾을 수 없다 라는군요 왜 위에 my-pass 명령까지 치면 레벨4의 비밀번호가 나오고 /bin/bash만
치면 오류가 뜨는건가요?
|
Hit : 4036 Date : 2012/01/22 03:30
|