레벨 해킹

 2839, 1/142 회원가입  로그인  
   gkswls123
   다른 워게임 문제 인데요 어떻게 풀어야 하나요?

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3338 [복사]


centos 리눅스 환경이구요 hint는

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]){

        char buffer[10];

        if(argc!=2){
                printf("no...just do it argc==2\n");
                return 0;
                }

        strcpy(buffer,argv[1]);

        if((buffer[0])=='a'){


        if((buffer[1])==' '){

        if((buffer[2])=='a'){
        printf("\nSuccess!\n");
        setuid(505);
        system("/bin/bash");

        }

        }

        }

        printf("read catchme.c\n");

        return 0;
}

이것인데요 구체적으로 뭘 어떻게 하라는건가요?

  Hit : 4438     Date : 2015/01/08 02:39



    
cd80 ./catchme "a a" 하라는게 문제 의도에요 2015/01/08  
skyclad1975 문자열을 인자로 전달할 수 있느냐를 묻는 문제네요
원래라면 띄어쓰기가 포함되어있는 문자열은 띄어쓰기를 기준으로 각각 다른 변수로 인식되기 때문에 argv[1]과 argv[2] 에 각각 들어가 위의 if문에 걸리게 됩니다만 띄어쓰기가 포함된 문자열을 인자로 전달하기 위해서는 " "(큰따옴표)로 묶어주시면 됩니다
2015/01/09  
4narchy_gh0st 감사합니다. 2016/11/05