Iriton's log

[Dreamhack/Wargame] Lv.1 ex-reg-ex write-up 본문

WebHacking/WarGame

[Dreamhack/Wargame] Lv.1 ex-reg-ex write-up

Iriton 2023. 5. 30. 18:54

문제 정보
문제 페이지

코드 분석


16: 요청 폼에서 입력값을 input_val 변수에 저장한다.

17: match()함수를 이용하여 입력값(input_val) 문자열 시작이 첫 번째 인자의 정규표현식과 일치하는지를 m에 저장한다.

18-19: m이 0이 아닐 때. 즉 17 match 함수에서 일치한다는 결과가 나와야 flag값을 띄운다.

 

문제 풀이


정규표현식

참고 자료

 

08-2 정규 표현식 시작하기

[TOC] ## 정규 표현식의 기초, 메타 문자 정규 표현식에서 사용하는 메타 문자(meta characters)에는 다음과 같은 것이 있다. > 메타 문자란 원래 그 문자…

wikidocs.net

'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+'

해당 정규 표현식을 풀이해 보자.

 

* 정규 표현식은 메타 문자를 사용하여 원래 그 문자가 지닌 의미가 아닌 다른 특별한 의미를 지니게 한다.

* 메타문자: . ^ $ * + ? { } [ ] \ | ( )

 

  • dr - 문자 그대로 dr 
  • \w{5,7} - 5-7개의 문자+숫자(alphanumeric)와 매치
  • e - 문자 그대로 e
  • \d+ - 숫자와 매치, 최소 한 번 이상
  • am@ - 문자 그대로 am@
  • [a-z]{3,7} - 3-7개의 문자와 매치
  • \. - . 문자
  • \w - 1개 이상의 문자+숫자

 

이에 따라 입력값으로 정한 문자열은 다음과 같다.

dreamhacke1am@dream.e

(임의로 매치하여 작성한 입력값이기에 입력값이 될 수 있는 문자열은 아주 다양하다.)

 

Comments