(CTF 출제)DreamHack - ex-reg-ex (수정)

2024. 4. 5. 10:53·CTF

 

 

 

문제를 들어가 보자.

 

 

 

 

 

 

 

 

 

 

 

123을 submit을 하면 input에 출력된다.

 

문제파일을 확인해 보자.

 

 

 

 

#!/usr/bin/python3
from flask import Flask, request, render_template
import re

app = Flask(__name__)

try:
    FLAG = open("./flag.txt", "r").read()       # flag is here!
except:
    FLAG = "[**FLAG**]"

@app.route("/", methods = ["GET", "POST"])
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='?')

app.run(host="0.0.0.0", port=8000)

 

 

정규표현식에 대한 문제이다.

 

중요한 부분을 보자.

 

 

 

 

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

 

"re.match" 함수가 있다.

 

이 함수는 안에 들어있는 패턴에 대해서 일치하는지 확인하는 함수이다.

 

정규표현식 패턴을 한번 살펴보자.

 

 

 

 

 

dr: 문자열이 "dr"로 시작해야 합니다 
\w{5,7}: 5에서 7개의 알파벳이나 숫자 문자가 있어야합니다.
e: 그 다음에는 문자열에 "e"가 나와야 합니다.
\d+: 그 다음에는 하나 이상의 숫자가 나와야 합니다.
am: 그 다음에는 "am"이 나와야 합니다.
@: 그 다음에는 "@" 문자가 나와야 합니다.
[a-z]{3,7}: 그 다음에는 3에서 7개의 소문자 알파벳이 나와야 합니다.
\.: 그 다음에는 "." 문자가 나와야 합니다.
\w+: 그 다음에는 하나 이상의 알파벳이나 숫자 문자가 나와야 합니다.

 

순서가 있으니 잘 확인해 보자.

 

 

 

 

 

 

 

 

해당되는 패턴을 찾으면 플래그 값이 나온다.

 

정답이 하나만 해당되는 게 아니라 풀기 쉬울 것이다.

 

 

 

 

 

 

 

 

 

'CTF' 카테고리의 다른 글

(CTF 출제)DreamHack - Easy Login  (1) 2024.05.01
(CTF 출제)DreamHack - Mango  (0) 2024.04.30
(CTF 출제)DreamHack - Carve Party (수정)  (0) 2024.04.05
(CTF 출제)DreamHack - PHPreg (수정)  (0) 2024.04.05
(CTF 출제)dreamhack - Baby Linux (수정)  (0) 2024.04.05
'CTF' 카테고리의 다른 글
  • (CTF 출제)DreamHack - Mango
  • (CTF 출제)DreamHack - Carve Party (수정)
  • (CTF 출제)DreamHack - PHPreg (수정)
  • (CTF 출제)dreamhack - Baby Linux (수정)
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (157)
      • 모의해킹 (18)
      • CTF (22)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
      • Mobile_security (13)
        • Drozer_Android (4)
        • Frida_Android (1)
        • IOS (1)
        • tool (1)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

    • DreamHack 에 대한 문제들...
  • 인기 글

  • 태그

    php
    난독화
    bandit17
    drozer
    insecurebankv2
    CTF
    wargame
    bandit20
    리눅스
    정보보안기사
    bandit
    Frida
    Linux wargame
    url encode
    php wrapper
    sql injection
    워게임
    Linux
    lfi
    bandit18
    cookies
    overthewire
    OSINT
    webhacking
    bandit30
    Dreamhack
    webhacking.kr
    모의해킹
    리눅스 워게임
    Android
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
G_OM
(CTF 출제)DreamHack - ex-reg-ex (수정)
상단으로

티스토리툴바