입력창이 하나있는 화면으로 이동한다.
일단 html코드를 한번보자
<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><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"); }
}
</script>
</body>
</html>
해석해보면 일단 버튼 클릭시 서버로 submit하는게 아니다.
버튼을 클릭시 밑의 스크립트 함수가 동작하는 것을 볼수있따.
밑의 함수를 해석해보자
url을 담고 .kr의 위치를 반환하고 있다.
그것에 30을 곱하고 입력값과 같으면 다른 url로 이동하고 아니면 경고창이 뜨는 방식이다.
https://webhacking.kr/challenge/web-10/index.php 의 .kr의 위치
수는 0부터 시작한다 .kr의 시작위치는 18 세기 귀찮다면 윗부분만 크롬개발자도구에서 돌려보면 쉽게 구할수있다.
18*30=540 540을 입력하고 버튼을 눌러주면 클리어
바로 링크를 이동하고 싶다면 url뒤에 ?291600(540*540)을 입력해주면 바로 성공화면으로 이동할수 있다.
'보안 > webhacking' 카테고리의 다른 글
webhacking.kr old-16 (0) | 2019.11.25 |
---|---|
webhacking.kr old-15 (0) | 2019.11.25 |
webhacking.kr old-12 (0) | 2019.11.24 |
webhacking.kr old-11 (0) | 2019.11.24 |
webhacking.kr old-10 (0) | 2019.11.23 |
최근댓글