webhacking.kr 26번 문제(old)

2019. 10. 15. 00:54Wargame/webhacking.kr

바로 소스를 확인해봅시다.

소스만 보면 매우 간단한 문제인것 같습니다.

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 이 될 것입니다.

 

  http://www.convertstring.com/ko/EncodeDecode/UrlEncode

저는 위의 사이트에서 url 인코딩을 진행하였습니다.

 

%2561%2564%256D%2569%256E 이란 값이 나왔네요. 바로 id 값에 입력해봅시다.

'Wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 7번 문제 (old)  (0) 2019.10.16
webhacking.kr 27번 문제(old)  (0) 2019.10.15
webhacking.kr 24번 문제(old)  (0) 2019.10.15
webhacking.kr 23번 문제(old)  (0) 2019.10.10
webhacknig.kr(old) 18번 문제  (0) 2019.10.10