본문
정규표현식을 얼마나 잘 이해하고 있나를 확인하는 문제이다.
문제에 들어가면 소스보기가 있는데.
$pat="/^(([e]){1}J){2,}_l[^1-9,^a-z,^A-Z]".chr(118)."[?]{5,}".(19%4)."$/";
의 정규표현식에 매치되는 문자열을 입력하면 답을 보여주는 문제다.
저 정규표현식이 무슨 뜻인지만 확인하면 되는데. 일단 정규표현식을 확인하기 전에 위 문자열을 하나의 문자열로 합치는 작업을 해야한다.
chr(118) = 'v' 가 되고,
(19%4) = 3이 되므로, 위 표현식을 다시 풀어쓰면.
/^(([e]){1}J){2,}_l[^1-9,^a-z,^A-Z]v[?]{5,}3$/
이 된다.
이제 정규식이 무슨 뜻인지 확인해볼 차례이다.
http://www.regexper.com/ 에 들어가면 정규표현식을 도식화하여 잘 보여준다.
위에서 추출했던 정규식을 넣으면 아래와 같은 그림을 보여준다.
이 그림을 잘 참조하여 시퀀스에 맞게 문자열을 입력해주면, 문제를 풀 수 있다. 그림이 너무 잘 그려져서 따로 설명도 필요 없을 것 같다;..
참고로 온라인에서 정규표현식을 테스트할 수 있는 사이트가 있다.
http://regexlib.com/ 에 들어가면 이미 잘 만들어져있는 정규표현식들을 구할 수도 있으며, 사이트에서 바로 정규표현식이 동작을 확인해볼 수도 있다.
정규표현식에 대해서 궁금하다면, http://www.nextree.co.kr/p4327/ 이 글을 참조하면 좋을 것 같다.
'WarGame' 카테고리의 다른 글
[Codegate 2014 Junior CTF] lottery 200 Point MISC (0) | 2014.02.12 |
---|---|
[Codegate 2014 Junior CTF] Nuclear Launch (0) | 2014.02.12 |
[wargame/suninatas] suninatas 워게임. (0) | 2014.01.08 |
[overthewire/natas] web hacking wargame. (0) | 2014.01.06 |
wargame 목록 (0) | 2013.09.24 |