상세 컨텐츠

본문 제목

[웹해킹] Webhacking.kr 11번 풀이

카테고리 없음

by Mathgongyoo 2013. 11. 5. 23:03

본문

*웹해킹.kr 11번 풀이


문제 페이지에 들어가보면 정규식이 하나 나와 있다.

일단은 $pat라는 변수명을 가진 정규식을 해석해보자.


/[1-3][a-f]{5}_.*121.64.244.67.*\tp\ta\ts\ts/


[1-3]은 1,2,3 중 하나라는 뜻이다.

[a-f]{5}는 a,b,c,d,e,f 중 다섯개(중복도 가능하다)라는 뜻이다.

*는 아무거나 들어가도 좋다는 뜻이다.

\t는 tab이라는 뜻이다.


이제 정규식이 포함된 스크립트를 분석해보자.



일단 변수 앞에 $기호가 붙어있으니 php로 보인다.


preg_match함수는 주어진 변수가 해당 정규식과 일치하는지 여부를 살피는 함수이다.

즉, $_GET[val]이 정규식 $pat과 일치할 때 반환값을 넘겨주겠다는 것이다.


$_GET[변수]는 웹페이지의 주소상에 변수값을 입력하도록 하는 메서드이며 주소 뒤에 ?(변수명)=(변수값)과 같은 형식으로 내용을 전달할 수 있다. (GET으로 전달할 변수가 두 개 이상일 경우, 두 번째부터는 &(변수명)=(변수값)과 같은 형식을 적용한다.)


이제 정규식을 만족할 val값을 찾아보자.


[1-3]은 1이라 쓰고

[a-f]{5}는 aaaaa라 쓰고

\t는 Ascii 코드를 이용해 %06이라 쓰자.



이제 이 값을 웹페이지 주소 뒤에 붙이기만 하면 정답 페이지가 출력된다.


※ 정규식 문제를 추가로 풀어보고 싶다면 ▷

http://www.wechall.net/challenge/training/regex/index.php

http://www.wechall.net/challenge/training/regex2/index.php