whois
Webhacking.kr 14번 본문
[그림 1] 14번
14번를 클릭하게 되면 그림 1과 같은 웹 페이지를 볼 수 있다. 단순히 text 박스와 check 버튼밖에 보이지 않는다. 문제의 의도를 추측하자면 클라이언트 쪽에서 보내는 값과 서버의 값을 비교하여 같으면 문제를 풀 수 있을 것 같다.
[그림 2] 소스
여느 때와 다름없이 14번의 웹페이지에서 소스를 보니 URL에서 .kr이라는 문자열을 찾아 ul이라는 변수에 반환 값을 저장하고 30을 곱한 값을 가지는 것으로 보인다. 이 ul 값과 pw.input_pwd.value 값을 비교하여 같으면 패스워드를 보여주는 코드인 것을 알 수 있다. 여기서 pw.input_pwd.value는 클라이언트가 입력한 값임을 추측할 수 있다.
[그림 3] indexOf 반환 값
가장 중요한 것은 indexOf의 반환 값을 아는 것이다. 그림 3에서 예시를 보여주듯이 해당 문자열의 첫번쨰 값을 반환 하는데 배열과 같이 0부터 시작된다. 따라서, 그림 2의 ul.indexOf(".kr");을 실행하게 되면 http:// 를 포함하여 http://webhacking.kr 이기에 17을 반환하게 된다.
[그림 4] password
indexOf 메서드를 통해 17을 반환 받고 그림 2 소스에서 보이듯이 *30을 하면 ul은 최종적으로 510이라는 값을 가지게 된다. 따라서, 우리는 510을 텍스트 박스에 입력하고 제출했을 때 그림 4와 같은 패스워드를 얻을 수 있다.
[그림 5] clear
인증 페이지에 260100이라는 값을 넣으니 그림 5와 같이 level14를 clear하였다.
'Wargame > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 24번 (0) | 2017.07.12 |
---|---|
Webhacking.kr 18번 (0) | 2017.07.11 |
Webhacking.kr 23번 (0) | 2017.07.06 |
Webhacking.kr 54번 (0) | 2017.07.05 |
Webhacking.kr 10번 (0) | 2017.06.27 |