Dreamhack ex-reg-ex 문제 풀이

    728x90

    1. 문제 설명

    간단하게 문제에서 요구하는 형식(아무래도 정규표현식 내지 조건문 일 것 같다.)의 문자역을 입력하여 플래그를 획득하면 되는 문제이다.

     

    2. 문제 풀이

    첫 화면에는 간단하게 무언가 적는 칸하고, 우리가 얻어야 할 Flag가 보인다.

     

    중간에 정규표현식이 주어지고, 사용자가 입력한 값이 정규표현식의 조건과 맞는다면 flag를 불러오는 구조로 이루어져 있다.

     

    해석을 간단하게 해보면 dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+에서

    dr : dr을 의미

    \w : 알파벳, 숫자, 언더바(_)전체를 의미

    {5,7} 앞의 내용을 5번 이상 7번 이하 반복

    e : e를 의미

    \d : 0-9 사이의 숫자를 의미

    + : 바로 앞 문자 1회 이상 반복

    am : am을 의미

    @ : @를 의미

    [a-z] : 소문자중 한 개

    {3,7} : 3번 이상 7번 이하 반복

    \. : .을 의미

    \w : 알파벳, 숫자, 언더바(_) 전체를 의미

    + : 바로 앞 문자 1회 이상 반복

     

    이런식으로 해석이 가능하다. 위 조건에 맞추게 되면 flag를 획득할 수 있는데, 여러 문자열이 나오겠지만 필자는 draaaaae0am@aaa.2로 결정하였다.

     

    문자열을 넣어보면 정상적으로 출력됨을 확인할 수 있다.

     

    3. 정리

    정규 표현식에 맞추어 문제를 풀이하면 쉽게 풀이가 가능하다.

    댓글