반응형
제공된 링크로 들어가면 위처럼 뜬다.
아마 어떤값을 입력해서 flag가 뜨게 하는 것 같다. 문제에서 제공하는 파이썬 파일을 열어보았다.
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)
코드를 보니 m이 입력되면 flag를 얻는 것 같은데 저 부분을 모르겠다.
검색해보고 챗지피티랑 대화도 좀 해봄
re.match()함수는 정규 표현식 패턴과 문자열이 매치되는지 확인하는데 사용된다고 한다.
if문에서 정규 표현식에 매치되었는지 확인하고 매치된 결과가 있으면 flag변수에 값을 전달한다고 한다.
즉, 이 식을 해석하는게 문제인 것 같다.
m = re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val)
- dr: 문자열이 "dr"로 시작 - \w{5, 7}: 5에서 7개의 "단어"문자(알파벳, 숫자 밑줄)이 온다. - e: 문자열에 "e"가 온다. - \d+: 하나 이상의 숫자가 온다 - am@: "am@"의 문자열이 온다. - [a-z]{3, 7}: 3에서 7개의 소문자 알파벳 문자가 온다. - \.\w+: 점으로 시작하는 문자열이 오고 이어서 하나 이상의 "단어"문자(알파벳, 숫자, 밑줄)가 온다. |
위 조건에 맞게만 입력하면 flag가 나올 것 같다.
dr12345e6am@abc.1 이런식으로..
조건에 맞게 아무렇게나 설정하고 입력해보았다.
flag가 나왔다.~
반응형
'학회_공부해요 > 워게임' 카테고리의 다른 글
[Dreamhack] Write up - dreamhack-tools-cyberchef 풀이 (0) | 2024.01.07 |
---|---|
[Dreamhack] Write up - broken-png 풀이 (0) | 2023.11.28 |
[Dreamhack] Write up - web-misconf-1 풀이 (0) | 2023.11.21 |
[Dreamhack] Write up - Snowing! 풀이 (1) | 2023.11.21 |
[Dreamhack] Write up - file-download-1 풀이 (1) | 2023.11.14 |