whois

Webhacking.kr 14번 본문

Wargame/Webhacking.kr

Webhacking.kr 14번

HongJun Choi 2017.07.10 02:51

[그림 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 14번  (0) 2017.07.10
Webhacking.kr 23번  (0) 2017.07.06
Webhacking.kr 54번  (0) 2017.07.05
Webhacking.kr 10번  (0) 2017.06.27
0 Comments
댓글쓰기 폼