41

    Webhacking.kr Level 41 문제풀이

    Webhacking.kr Level 41 문제풀이

    Level 41 코드를 보면 파일을 받아 파일이름을 필터링 하고 hidden_dir이라는 곳에 카피한 후, 패스워드를 그 곧에 쓴다. 따라서 우리는 hidden_dir의 주소를 알아야 한다. 코드를 자세히 보면, eregi함수를 통해 필터링 하는 부분과 str_replace를 통해 필터링 하는 부분이 있다. 이 두가지 특성이 있는데, str_replace는 치환을 하는 반면, eregi는 치환은 하지 않지만, 해당 문자열이 존재하면 종료시켜 버린다. 여기서 한가지 생각을 해야 한다. fn값이 '.' 이나 '' 이면 공백으로 치환되는데 이럴때 어떻게 처리가 될까? 이 소스에서 예외처리 하는 부분은 없다. 따라서 시도해 보았다. 어이없는 삽질을 기록해 보자면, 실제 파일의 이름을 '.', '>', '