War game/webhacking.kr
[webhacking.kr-old] 11번
power-girl0-0
2021. 6. 22. 00:14
728x90
주소 : https://webhacking.kr/old.php
Webhacking.kr
webhacking.kr
[ 풀이 ]

wrong?? 틀렸다?? 문제 들어가자마자 틀렸다니,,,, ㅡㅡ
기분 좋게 풀려했더만 ㅡㅡ
소스코드를 살펴보자.
아래 소스코드를 살펴보면, 될 듯하다.

위 코드를 보면, 정규식 표현에 대한 문제임을 알 수 있다.
why?? preg_match함수를 사용하였기 때문이다. 푸하핳##
해당 문제의 정규식 표현에 대해서 차근차근 살펴보자.
- preg_match함수의 첫번째 인자는 '정규식 표현 작성', 두번째 인자는 정규식 표현 방식으로 '검색할 문자열'을 나타낸다.
- [1-3]은 1~3 중에서 하나의 문자를 찾아내는 것이다.
- [a-f]{5}는 a~f 중의 하나의 문자 찾는 것을 5번 반복한다는 의미이다.
- _은 _ 의 문자가 존재해야 한다는 의미이다.
- $_SERVER[REMOTE_ADDR]은 브라우저에 접속한 컴퓨터의 ip주소를 나타낸다.
- .*은 뒤에 0개 이상의 문자열을 .*이 나올 때까지 반복하라는 의미이다.
- \t는 tab을 의미한다. 따라서, 위 \tp\ta\ts\ts는 [tab]p[tab]a[tab]s[tab]s를 나타낸다.
즉, 해당 문제는 get방식으로 받아온 $val가 위 정규식 표현에 맞도록 설정하여 서버로 전송하면 문제는 풀린다.
따라서, 아래와 같이 입력하여 전송하였다.
[tab]은 urlencoding으로 바꿔서 %09를 입력하였다.
?val = 1abcde<자신의 ip주소>%09p%09a%09s%09s |
문제 클리어~~


728x90