2019. 10. 15. 00:54ㆍWargame/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 |