본문 바로가기
해킹/webhacking.kr

[webhacking.kr] Challenge(Old) old-14 풀이

by yenua 2022. 6. 25.
반응형

https://webhacking.kr/challenge/js-1/

 

Challenge 14

 

webhacking.kr

URL을 보면 자바스크립트와 관련된 문제인것으로 확인된다.

 

페이지의 소스코드를 보면 form 태크에서 input_pwd로 인풋을 받고, 그걸 ch()함수에서 ul과 비교하여 똑같을 때 다른 사이트로 넘어가게 된다.

<html>
<head>
<title>Challenge 14</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<br><br>
<form name=pw onsubmit="ck();return false"><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form>
<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"); }
  return false;
}
</script>
</body>
</html>

콘솔에서 직접 확인해보면, ch 함수가 document DOM에서 URL을 가져오고, 거기서 indexOf로 .kr 앞까지의 길이가 얼마인지 계산해서, 곱하기 30을 한 값을 ul에 넣는다는 것을 알 수 있다.

540을 입력하면, 아래와 같은 화면이 뜨는 사이트로 리다이렉트되게 된다.

굳이 540을 입력할 필요 없이 540*540=291600 을 넣어서 바로 이동해도 될 것 같다.

https://webhacking.kr/challenge/js-1/?291600

반응형