본문 바로가기
Webhaking/WebHaking CTF

[Webhaking.kr] old 26번

by Y06 2021. 9. 29.

26번 문제에 들어가면 'view-source'만 있다.

GET 형식으로 받은 id 값이 admin이면 풀리는 문제인 것 같다.

하지만 조건문보다 위에 preg_match 함수로 admin이란 값을 필터링하고 있기 때문에 admin이란 값을 넣어줄 수 없을 것 같다.

또한, 그 밑에 id의 값을 urldecode() 함수를 통해서 변조시키는 것을 확인할 수 있다.

그럼 admin의 값을 url 인코딩으로 입력해보다.

url 인코딩 표를 이용해서 admin을 바꾸면 %61%64%6D%69%6E의 값이 된다.

이 값을 id로 입력해보자.

no! 라는 값이 나온다.

맨처음 조건절에서 preg_match() 함수의 막힌 것 같다.

그 이유는 웹서버와 브라우저 사이에서 데이터를 교환할 때 브라우저는 폼에서 입력받은 데이터를 자동으로 인코딩한 값을 보내고 php는 자동으로 디코딩하기 때문이다.

 

그렇다면 %61%64%6D%69%6E의 값을 한 번 더 인코딩 해주어서 %61%64%6D%69%6E을 인코딩 한 값에서 브라우저로 넘어갈때 %61%64%6D%69%6E로 넘어갈 것이고 urldecode 함수에 의해 admin이 될 것이다.

 

인코딩한 값을 복사하여 시도한다.

문제를 풀었다.

'Webhaking > WebHaking CTF' 카테고리의 다른 글

[Webhaking.kr] old 20번  (0) 2021.09.30
[Webhaking.kr] old 16번  (0) 2021.09.30
[Webhaking.kr] old 24번  (0) 2021.09.29
[Webhaking.kr] old 10번  (0) 2020.11.26
[Webhaking.kr] old 1번  (0) 2020.11.26