본문 바로가기
dreamhack

[Dreamhack] ex-reg-ex (Beginner)

by yejin_l 2023. 11. 8.
728x90

Description

문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다.

플래그 형식은 DH{…} 입니다.

 

풀이

step 1. 문제 파일 다운로드 후 코드 확인

def index():
    input_val = ""
    if request.method == "POST":
        input_val = request.form.get("input_val", "")
        m = re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val)
        if m:
            return render_template("index.html", pre_txt=input_val, flag=FLAG)
    return render_template("index.html", pre_txt=input_val, flag='?')

이 코드 중 m = re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val) 이부분을 풀어야 FLAG가 나오는 것 같다.

 

- `dr`: 패턴의 이 부분은 문자 그대로 "dr" 문자와 일치
- `\w{5,7}`: 이 부분은 5~7개의 단어 문자(문자, 숫자 또는 밑줄)와 일치
- `e\d+am`: 이 부분은 "e" 문자와 하나 이상의 숫자, "am" 문자가 차례로 나오는 부분과 일치
- `@`: "@" 기호

- `[a-z]{3,7}`: 3~7자의 소문자와 일치합니다.
- `\.`: 마침표(.) 문자
- `\w+`: 하나 이상의 단어 문자와 일치

 

=> 위의 조건대로 문자열을 조합해 보면 draaaaae1am@mail.com 이 만들어진다.

 

728x90

'dreamhack' 카테고리의 다른 글

[Dreamhack] ssp_001 (LEVEL 2)  (1) 2023.11.15
[Dreamhack] image-storage (LEVEL 1)  (0) 2023.11.08
[Dreamhack] baby-linux (Beginner)  (0) 2023.11.07
[Dreamhack] 🌱 simple-web-request (Beginner)  (0) 2023.11.07
[Dreamhack] proxy-1 (LEVEL 1)  (0) 2023.10.05