troll

    [LOB] Level9: troll → vampire

    [LOB] Level9: troll → vampire

    vampire /* The Lord of the BOF : The Fellowship of the BOF - vampire - check 0xbfff */ #include #include main(int argc, char *argv[]) { char buffer[40]; if(argc < 2){ printf("argv error\n"); exit(0); } if(argv[1][47] != '\xbf') { printf("stack is still your friend.\n"); exit(0); } // here is changed! if(argv[1][46] == '\xff') { printf("but it's not forever\n"); exit(0); } strcpy(buffer, argv[1])..

    [LOB] Level8: orge → troll

    [LOB] Level8: orge → troll

    한동안 LOB문제를 안풀다가 엄~~청 오랜만에 이어서 풀어보기 시작했다. 그래서 그전과 풀이 방식과 설명내용 등... 많이 다를 수 있음을 주의하자ㅋㅋ troll /* The Lord of the BOF : The Fellowship of the BOF - troll - check argc + argv hunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; // here is changed if(argc != 2){ printf("argc must be two!\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(..

    [LOS]Level8 troll 문제풀이

    [LOS]Level8 troll 문제풀이

    6번째줄에 admin을 필터링하고 있다. 10번째줄에 id값이 admin이여야 문제가 풀린다. 'admin'이라는 값을 넣지않고, id값에 admin을 넣어야 한다. 처음에는 hex값으로도 넣어보고해봤으나 풀리지 않았다. 그러던중 6번째 줄에 ereg()함수가 보였다. php에서 ereg()함수는 대소문자를 구별하여 'admin'을 검사한다. (즉, admin은 필터링되어도 Admin, aDmin 등은 필터링되지 않는다.) -> preg_match()함수를 사용해야한다. 하지만 db로 들어가면 대소문자를 구별하지 않는다.