Challenge old 10번문제에 접속했습니다.
달리기 시합처럼 한쪽에는 Goal이 스타트 지점으로 예상되는 부분에 O글자가 있습니다.
마우스를 가져다 대고 클릭을 하니 이동하는 것을 확인할 수 있습니다.
Goal 지점까지 클릭하는 것도 방법이지만 시간이 필요하므로 소스코드를 보겠습니다.
사진으로는 잘안보이니 코드를 다시 적겠습니다.
<html>
<head>
<title>Challenge 10</title>
</head>
<body>
<hr style=height:100;background:brown;>
<table border=0 width=1800 style=background:gray>
<tr><td>
<a id=hackme style="position:relative;left:0;top:0" onclick="this.style.left=parseInt(this.style.left,10)+1+'px';if(this.style.left=='1600px')this.href='?go='+this.style.left" onmouseover=this.innerHTML='yOu' onmouseout=this.innerHTML='O'>O</a><br>
<font style="position:relative;left:1600;top:0" color=gold>|<br>|<br>|<br>|<br>Goal</font>
</td></tr>
</table>
<hr style=height:100;background:brown;>
</body>
</html>
여기서 자세히 봐야할 부분은 아래 구문입니다.
해석하면 1번의 클릭당 1px을 좌측으로 이동하며, 1600px에 도달하면
하이퍼링크 href='?go=' + this.style.left 구문이 실행되는 것을 알수 있습니다.
<a id=hackme style="position:relative;left:0;top:0" onclick="this.style.left=parseInt(this.style.left,10)+1+'px';if(this.style.left=='1600px')this.href='?go='+this.style.left" onmouseover=this.innerHTML='yOu' onmouseout=this.innerHTML='O'>O</a><br>
<font style="position:relative;left:1600;top:0" color=gold>|<br>|<br>|<br>|<br>Goal</font>
그럼 가장 간편한 방법인 개발자도구를 열어 소스코드 수정하는 방식을 해보겠습니다.
현재 한번 클릭한 상태인데
style="position:relative;left:1;top:0"
위 구문부분의 left값이 1로 변한것을 알 수 있습니다. 즉 left값을 1599로 수정해 한번 더 클릭한다면
1600px이동으로 인식될 것입니다.
이전 소스코드를 분석하며 설명한대로 ?go=1600px 조건이 True 값이 되며 solve(10)가 실행되었습니다.
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
WebHacking Writeup 7번 문제 (0) | 2022.07.06 |
---|---|
Challenge(old)-03번 문제 Writeup (0) | 2022.06.15 |
Challenge(old)-11번 문제 Writeup (0) | 2022.06.15 |
Challenge(old)-06번 문제 Writeup (0) | 2022.06.15 |
Challenge(old)-01번 문제 Writeup (0) | 2022.06.14 |