26번을 클릭하면 위와 같은 화면이 뜬다. view-source를 눌러서 소스 코드를 보자.
소스코드를 보면 id 값이 admin이면 문제가 풀리는 것을 볼 수 있다.
if문을 보면 admin은 필터링 되는 것을 알 수 있고,
그 밑의 코드를 보면 GET방식으로 받아온 id 값을 URL Decoding을 수행하는 것이 보인다.
이때 우리가 봐야할 것은 URL Decoding을 한 번만 수행한다는 것이다.
즉, 'admin'을 URL Encoding을 2번 시킨 값을 URL에 입력하면 문제가 풀릴 것이다.
www.freecodecamp.org/news/url-encoded-characters-reference/
HTML URL Encoded Characters Reference
A URL is an address for a website. Just like postal addresses have to follow a specific format to be understood by the postman, URLS have to follow a format to be understood and get you to the right location. There are only certain characters that are allo
www.freecodecamp.org
위의 주소에 들어가면 URL encode 표가 나온다.
표를 바탕으로 admin을 인코딩 하면, %61%64%6D%69%6E 가 된다.
이 값을 URL encode 사이트를 통해 한 번 더 인코딩을 하면 최종 값은 %2561%2564%256D%2569%256E 가 되고, 이를 URL로 전달하면 문제가 풀린다!
(URL encode 사이트 : meyerweb.com/eric/tools/dencoder/)
'Wargame > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr old 39번 문제 풀이 (0) | 2021.04.10 |
---|---|
Webhacking.kr old 38번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 24번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 6번 문제 풀이 (0) | 2021.04.10 |
Webhacking.kr old 18번 문제 풀이 (0) | 2021.04.10 |