[Wargame] 드림핵 - ex-reg-ex

Song·2024년 11월 13일

드림핵

목록 보기
8/18
post-thumbnail

문제


풀이

GET, POST 방식으로 데이터를 입력 받는데, POST 방식으로 입력된 값이 정규표현식 패턴에 일치하면 플래그 값을 반환해주는 것으로 보인다.

re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val)

위에서 사용된 옵션들은 다음과 같다.

💡 정규 표현식 옵션

옵션설명
\w단일 문자
{0,1}앞의 패턴이 최소 0개에서 최대 1개까지 반복
\d숫자
+앞의 패턴이 1개 이상 반복
[a-z]a부터 z까지 지정
\.. 을 단순 문자로 표현

문자열 앞에 붙은 r은 문자열 내부에 존재하는 백 슬래시가 단순 문자로 처리되도록 만드는 옵션으로 파일 경로나 정규표현식 작성 시 주로 사용된다.

이외에는 단순 문자.

이를 토대로 정규표현식을 풀어보면, dr[문자 5~7개]e[숫자 1개 이상]am@[a부터 z까지 알파벳 중 3~7개].[문자 1개 이상]가 된다.

서버에 접속하면 입력 폼이 존재한다. 여기에 위에서 작성했던 draaaaae0am@aaa.a을 입력하면 바로 플래그가 나온다.

profile
안녕하세요

0개의 댓글