컴퓨터공학 전공생의 보안 도전기✌

[Webhacking.kr] Challenge 11번 본문

문제풀이/Web

[Webhacking.kr] Challenge 11번

A7uly 2022. 6. 4. 10:36

문제

문제에 들어가 보니 사진처럼 wrong 이라는 글씨와 함께 view-source 라는 하이퍼링크가 친절하게 달려 있었다.

풀이

 view-source 를 눌러 소스코드를 살펴보았다.

소스 코드 내부를 살펴보면 'pat'이라는 변수를 GET으로 받아들이는 'val'이라는 값과 비교하여 맞으면 solve되는 형식이었다.

그렇다면 pat 변수는 어떻게 정의되어 있는지 보자. pat은 정규표현식으로 형식이 지정되어있었다. 하나하나 뜯어보면, 아래 표와 같다.

 

[1-3], [a-f] 대괄호 안의 범위 중 한 가지 값 (1~3, a~f)
{5} 바로 이전 값을 중괄호 안의 숫자만큼 반복
_ 언더바 (_)
.x x는 임의의 한 문자 (개행문자 제외)
x* x를 0번 이상 반복
\t 탭 (url encoding 필요)

즉 pat = 1~3 사이 문자 하나 + (a~f 문자 하나)*5 + _ + IP주소 + %09 + p + %09 + a + %09 + s + %09 + s

라는 것을 알 수 있다. 그럼 이제 이 정규표현식을 만족하는 임의의 문자열을 val 이라는 변수로 쿼리를 주어보자.

그러면 이렇게 문제가 해결되는 것을 확인할 수 있다.

'문제풀이 > Web' 카테고리의 다른 글

[Webhacking.kr] Challenge 3번  (0) 2022.12.03
[Webhacking.kr] Challenge 10번  (0) 2022.06.04
[Webhacking.kr] 33번  (0) 2022.05.27
[Webhacking.kr] 43번  (0) 2022.05.25
[Webhacking.kr] 42번  (0) 2022.05.25