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 |