본문 바로가기

워게임/웹해킹kr

웹해킹kr 11번 문제 풀이

http://webhacking.kr/challenge/codeing/code2.html






preg_match($pattern, $subject);

$pattern에는 정규표현식이 들어갑니다. $subject는 매칭이 수행되는 문자열입니다.


11번 문제에서 패턴은 $pat="/[1-3][a-f]{5}_.*<사용자IP>.*\tp\ta\ts\ts/"; 이네요.

이걸 제대로 알려면 정규 표현식을 제대로 알아야겠죠?

아래를 이해하기 위해 필요한 정규표현식 설명을 여기1여기2에서 알아보세요.


하나하나 분해해보겠습니다.


/[1-3][a-f]{5}_.*<사용자IP>.*\tp\ta\ts\ts/

패턴에서 추출한 문자열은 위와 같습니다.

패턴에서 구분자는 / 이군요.

그리고 .*은 어떤 문자를 0번이상 반복하는 것인데, 0번 이상이기 때문에 없다고봐도 무방합니다.


이제 세부분으로 나눌 수 있겠죠.

 [1-3][a-f]{5}_

 <사용자IP>

 \tp\ta\ts\ts


첫번째 부분을 파헤쳐 봅시다.

 [1-3]

 1부터 3까지의 숫자 중 한개

 [a-f]

 a부터 f까지의 문자 중 한개

 {5}

 앞의 문자를 5자리

 _

 이건 그냥 _


첫번째 부분은 실마리가 밝혀졌습니다.

1~3 중에서 아무거나 한자리를 적고, a~f에서 골라서 문자 5개를 적고 _를 붙였습니다.

 1aaaaa_

 <사용자IP>

 \tp\ta\ts\ts


두번째 부분은 그냥 사용자IP 니까 가볍게 넘어갑니다.

세번째 부분은 \t 라는 게 반복되는데, 이건 TAB키입니다.

TAB키의 코드는 %09 입니다. 쉽게 바꿀 수 있겠죠?


Clear 주소는 아래와 같습니다.

http://webhacking.kr/challenge/codeing/code2.html?val=1aaaaa_192.168.10.1%09p%09a%09s%09s




'워게임 > 웹해킹kr' 카테고리의 다른 글

웹해킹kr 38번 문제 풀이  (0) 2016.05.24
웹해킹kr 54번 문제 풀이  (0) 2016.05.23
웹해킹kr 28번 문제 풀이  (0) 2016.05.23
웹해킹kr 12번 문제 풀이  (0) 2016.05.23
웹해킹kr 33번 문제 풀이  (0) 2016.05.03