문제페이지는 해당 페이지와 같다.
페이지에는 입력창이 있으며 임의의 값 'test'를 입력하고 check 버튼을 클릭한다.
Wrong 이라는 문구가 뜨는 것을 확인 할 수 있다.
해당 페이지의 소스페이지를 확인해본다.
<form name=pw><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form>
pw 라는 폼에서 type=text로 사용자가 키보드 입력을 할 수 있도록 하며 입력값은 "input_pwd"로 인식한다.
또한 type=button으로 버튼 형태의 입력으로 클릭시 ck()함수가 실행된다.
<script>
function ck(){
var ul=document.URL;
ul=ul.indexOf(".kr");
ul=ul*30;
if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
else { alert("Wrong"); }
}
</script>
ck() 함수가 정의되어 있다.
var ul 값에 document.URL 로 현재 사이트의 URL 주소 값이 ul에 들어가는 것을 알 수 있다.
indexof() 함수는 받은 인자값의 특정 문자열이 몇번째에 위치해 있는지 계산하여 리턴해주는 함수이다.
ul.indexof(".kr")은 해당 URL에서 ".kr"이 몇번째에 위치해 있는지 계산하여 ul 값에 저장한다.
그리고 그 ul 값에 30을 곱하여 다시 ul 값에 저장된다.
if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
else { alert("Wrong"); }
ul 값과 pw.input_pwd.value 와 비교하여 같은경우 location.href 를 통해 해당 URL 로 이동하고 아닌 경우 "Wrong" 이라는 문구가 뜬다.
개발자 도구의 console 기능을 사용하여 ul 값을 알아낸다.
ul 값은 540이라는 것을 알 수 있다.
문제페이지의 입력창에 540을 입력하고 check 버튼을 클릭한다.
문제가 해결 되었다는 것을 알 수 있다.
'프로젝트 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge(old) 10번 문제 (0) | 2021.07.06 |
---|---|
[Webhacking.kr] Challenge(old) 15번 문제 (0) | 2021.07.05 |
[Webhacking.kr] Challenge(old) 8번 문제 (0) | 2021.07.05 |
[Webhacking.kr] Challenge(old) 7번 문제 (0) | 2021.07.05 |
[Webhacking.kr] Challenge(old) 6번 문제 (0) | 2021.07.05 |