티스토리 뷰
일단 코드를 보면 preg_match함수가 있다.
이것은 preg_match(패턴, 비교할 변수)로 php에서 패턴이 일치하는 문자 혹은 숫자를 판단하기 위해서 사용되는 함수라고 한다.
그럼 $pat이 패턴이고 $_GET[val]이 비교할 변수 인 것 같다. get함수로 val의 값을 get함수의 폼에 넣는 것으로 val과 pat을 비교하면 될 것 같다.
그럼 이제 pat을 보면 정규식인데
""은 패턴 만들 때의 기본 이고
/은 처음과 끝
[]은 안에 존재하는 문자나 숫자 중 하나로 -는 범위를 나타낸다.
{}은 앞에 있는 문자를 안에 있는 개수만큼 출력
*은 *의 문자를 0개 이상으로 포함한다.
\t은 tap으로 url로 인코딩하면 %09가 나온다. 그래서 해석을 하면
2bbbbb_.*124.195.162.239.*%09p%09a%09s%09s
로 2대신 1로 해도되고 b대신 a로 해도된다.
그래서 url에 val값이므로 ?val=2bbbbb_.*124.195.162.239.*%09p%09a%09s%09s을 넣어주면 풀린다.
'webhacking' 카테고리의 다른 글
| 웹해킹 문제 23번 (0) | 2017.12.04 |
|---|---|
| 웹해킹 문제 25번 (0) | 2017.12.04 |
| 웹해킹 문제 42번 (0) | 2017.11.06 |
| 웹해킹 문제 26번 (0) | 2017.11.06 |
| 웹해킹 문제 24번 (0) | 2017.11.05 |
