WolfMan

    [LOB] Level6: wolfman → darkelf (renew)

    [LOB] Level6: wolfman → darkelf (renew)

    darkelf keyword : /* The Lord of the BOF : The Fellowship of the BOF - darkelf - egghunter + buffer hunter + check length of argv[1] */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][47] != '\xbf') { printf(..

    [LOB] Level5: orc → wolfman (renew)

    [LOB] Level5: orc → wolfman (renew)

    wolfman keyword : egghunter+bufferhunter /* The Lord of the BOF : The Fellowship of the BOF - wolfman - egghunter + buffer hunter */ #include #include extern char **environ; main(int argc, char *argv[]) { char buffer[40]; int i; if(argc < 2){ printf("argv error\n"); exit(0); } // egghunter for(i=0; environ[i]; i++) memset(environ[i], 0, strlen(environ[i])); if(argv[1][47] != '\xbf') { printf("st..

    [LOS]Level5 wolfman 문제풀이

    [LOS]Level5 wolfman 문제풀이

    query : {$query}"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}"; if($result['id'] == 'admin') solve("wolfman"); highlight_file(__FILE__); ?>6번째 줄을 보면 공백이 필터링되어 있다.쿼리문을보면 id값에 guest가 들어있고, 문제를 풀기 위해선 id에 admin을 넣고 공백(%20)필터링을 우회해야 한다.[*] 공백(%20) 대체1. () : 괄호2. %09 : 탭3. /**/ : 주석4. %0a : 개행문자5. %0b : 캐리지 리턴여기서 괄호는 필터링 되고 있기 때문에 그외에 것들을 사용..