티스토리 뷰
26번 문제를 클릭하면 다음과 같은 화면이 나타난다. index.phps를 클릭하면 코드를 볼 수 있다.
GET방식으로 id라는 변수를 받는다
.
1. 변수 id의 값이 "admin"이 포함된 문자열일 경우 "no!"가 출력되고 종료됨
2. 변수 id의 값이 "admin"을 포함하지 않으면서, id를 URL디코딩 한 값이 "admin"일 경우 문제가 풀린다.
GET방식이므로 변수를 전달할때,
(현재 URL)?id=(전달할 값)을 주소창에 입력하면 되고
역시나 id=admin을 전달하면 no!라고 뜬다.
문제를 해결하려면 id=("admin"을 URL인코딩한 결과)를 전달해주어야 한다.
URL인/디코딩을 지원해주는 사이트는 굉장히 많다.
"admin"이라는 영어는 인코딩해도 같은 결과가 나오기 때문에
ASCII/URL 문자표를 참고하여 수동으로 인코딩 하였다.
"admin" => "%61%64%6D%69%6E"
하지만 이와 같이 입력하여도 id=admin으로 바뀌면서 no!라고 출력된다.
이는 주소창에 주소를 입력할때, 브라우저에서 자체적으로 한번 디코딩이 진행되기 때문이다.
따라서, "%61%64%6D%69%6E"를 한번더 인코딩해주면 된다.
"%61%64%6D%69%6E" => %2561%2564%256D%2569%256E
다음과 같이 id=%2561%2564%256D%2569%256E 를 전달하면 문제가 풀린다.
'hacking > webhacking.kr' 카테고리의 다른 글
<webhacking.kr> - 47번 (0) | 2018.01.31 |
---|---|
<webhacking.kr> - 38번 (0) | 2018.01.31 |
<webhacking.kr> - 24번 (0) | 2018.01.26 |
<webhacking.kr> - 4번 (0) | 2018.01.24 |
<webhacking.kr> - 6번 (0) | 2018.01.23 |