Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
Tags
- 화이트해커
- 한국정보기술연구원
- cookie tampering
- 웹해킹
- 정보보안
- 보안
- file download vulnerability
- 타입 변환 취약점
- WhiteHatSchool
- WEB
- WarGame
- loose comparison
- php7.4
- 워게임
- cookie
- dev-tools
- 드림핵
- 웹
- cybersecurity
- session hijacking
- Cross Site Script
- Dreamhack
- webhacking
- 보안교육
- KITRI
- 화이트햇스쿨
- php
- type juggling
- web-misconf-1
- path traversal
Archives
- Today
- Total
xmi1e-vir.log
[Dreamhack] wargame 'ex-reg-ex' write-up 본문
🌱 Biginner
문제링크
문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요.
플래그는 flag.txt 파일과 FLAG 변수에 있습니다.
플래그 형식은 DH{...} 입니다.
📌문제 파악
- 주어진 정규표현식에 부합하는 값을 입력하면 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='?')
📌문제 풀이
주어진 정규표현식은 아래와 같다
r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+'
- dr: "dr"로 시작
- \w{5,7}: 5~7개의 알파벳, 숫자, 또는 밑줄(_)
- e: "e"가 와야함
- \d+: 하나 이상의 숫자
- am: "am"이 와야함
- @: "@" 기호가 와야함
- [a-z]{3,7}: 3~7개의 소문자 알파벳
- .: "." (점)이 와야함
- \w+: 하나 이상의 알파벳, 숫자, 또는 밑줄(_)
나는 위 조건에 부합하는 임의의 값을 작성했다.
dr1234_e2am@naver.com
입력하면 손쉽게 flag를 얻을 수 있다.

'WARGAME > WEB' 카테고리의 다른 글
| [Dreamhack] wargame 'Flying Chars' write-up (0) | 2025.09.11 |
|---|---|
| [Dreamhack] wargame 'phpreg' write-up (0) | 2025.09.08 |
| [Dreamhack] wargame 'pathtraversal' write-up (0) | 2025.09.07 |
| [Dreamhack] wargame 'Carve Party' write-up (0) | 2025.09.07 |
| [Dreamhack] wargame 'command-injection-1' write-up (0) | 2025.09.07 |