반응형
문제분석 & 풀이
코드를 확인해보자.
<?php
$pat="/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/";
if(preg_match($pat,$_GET['val'])){
solve(11);
}
else echo("<h2>Wrong</h2>");
echo("<br><br>");
?>
$pat에 정규표현식이 저장된다.
해당 정규표현식은 $_GET['val']를 검증하는 과정에서 사용한다.
정규표현식 패턴을 분석해서 val 파라미터로 전송할 데어티를 만들어보자.
정규표현식은 .을 기준으로 3가지로 분류할 수 있다.
[(1~3 사이의 숫자) 또는 (a~f 사이의 알파벳) 5자리].[IP 주소].[탭+p+탭+a+탭+s+탭+s]
위 조건을 만족하는 3가지를 구성해서 완성하면된다.
필자는 다음과 같이 완성했다.
1aaaaa_.[본인 pc IP 주소].%09p%09a%09s%09s
%09는 tab을 url 인코딩한 값이다. 정규표현식을 보면, "pass" 사이마다 tab을 했기 때문에 사용했다.
GET 방식으로 파라미터를 통해 값을 전송할 것이기 때문에 tab을 url 인코딩한 %09를 사용했다.
전송해보자.
반응형