문제를 보면 pat 라는 변수에 정규식을 저장하고 있다.
정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.
그리고 그 밑에줄의 코드를 보면 preg_match() 라는 함수를 사용하고 있는데, 이 함수는 php에서 문자열을 매칭시키는 기능을 한다.
그래서 이 코드를 해석해보면 pat의 값을 val에 GET형식으로 매칭시켜주면 Password를 출력해 주는 것 같다.
다음은 PHP 정규식을 설명한 표 이다. (출처 : https://iam777.tistory.com/m/306)
이 표를 보고 정규식을 해석해보면 1에서 3 사이의 숫자 1개, a에서 f사이의 알파벳 5개, 그리고 \t는 tab를 의미하는데, url 인코딩 하면 %09 이다.
따라서 1aaaaa_.*ip주소.*%09p%09a%09s%09s/가 나온다.
이 변수를 val 파라미터 값으로 넘겨주면 문제가 해결된다.
'Security & Hacking > Wargame' 카테고리의 다른 글
[webhacking.kr] Challenge12 (0) | 2019.06.06 |
---|---|
[webhacking.kr] Challenge 15 (0) | 2019.03.08 |
[webhacking.kr] Challenge 10 (0) | 2019.03.06 |
[webhacking.kr] Challenge 3 (0) | 2019.02.21 |
[webhacking.kr] Challenge 6 (0) | 2019.02.18 |