[webhacking.kr] 11번 문제 풀이[Regular Expression]
💡 Webhacking.kr challenge(old) 11번 문제에 대한 풀이입니다.
문제
문제 화면
소스 코드
<?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>");
?>
문제가 아주 간단합니다. 정규표현식에 대해서 조금만 알면 쉽게 풀 수 있습니다.
주어진 정규 표현식을 풀어서 써보면 다음과 같습니다.
- [1-3] : 1,2,3중에 하나
- [a-f]{5} : a,b,c,d,e,f 중 5글자
- _ : 문자 ‘_’
- .* : 아무 문자(.) 0개 이상 반복
- $_SEVER[REMOTE_ADDR] : 내 ip
- .* : 아무 문자(.) 0개 이상 반복
- \t : tab
- p : 문자 ‘p’
- \t : tab
- a : 문자 ‘a’
- \t : tab
- s : 문자 ‘s’
- \t : tab
- s : 문자 ‘s’
위의 조건들을 만족하는 문자열 : 1aaaaa_58.233.115.96 p a s s
이걸 ?val = 값으로 입력해주면 끝
참고로 https://regexr.com/ 사이트를 이용하면 정규 표현식에 대한 설명과 테스트도 해볼 수 있습니다.
댓글남기기