Challenge 10
10번 문제는 HTML에 대한 문제입니다.
※이번 문제는 크롬에서 작동이 잘 되지 않아 IE에서 문제를 풀었습니다.
이번 문제는 HTML소스를 어느정도 알고 있다면 쉽게 해결할 수 있습니다.
O에 마우스가 올라가면 you로 글씨가 변경됩니다. 클릭하게 되면 posLeft값이 1상승하면 옆으로 움직이게 됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <html> <head> <title>Challenge 10</title> </head> <body> <hr style=height:100;background:brown;> <table border=0 width=900 style=background:gray> <tr><td> <a id=hackme style="position:relative;left:0;top:0" onclick="this.style.posLeft+=1;if(this.style.posLeft==800)this.href='?go='+this.style.posLeft" onmouseover=this.innerHTML='yOu' onmouseout=this.innerHTML='O'>O</a><br> <font style="position:relative;left:800;top:0" color=gold>|<br>|<br>|<br>|<br>buy lotto</font> </td></tr> </table> <hr style=height:100;background:brown;> </body> </html> | cs |
해당 페이지 소스입니다.
Onclick 시 posLeft값이 1씩 증가합니다. 그래서 posLeft값이 800이 되면 Get으로 go=800을 넘겨주게 됩니다.
목표는 posLeft를 800을 만드는 것으로, 800번 클릭해도 됩니다.
하지만 우린 브라우저를 통해 HTML을 변경할 수 있으며, 실행시킬수도 있습니다.
개발자 도구를 이용하여 콘솔에서 HTML이나 Javascript를 실행시킬 수 있습니다.
위와 같이 콘솔을 이용하여 강제로 값을 변경할 수 있습니다.
강제로 go=800을 입력하면 no Hack이라고 출력됩니다.
posLeft 값을 799로 변경 후 한번만 클릭하면 문제를 해결 할 수 있습니다.
'Wargame | CTF > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge 13 (0) | 2016.11.13 |
---|---|
[Webhacking.kr] Challenge 12 (0) | 2016.11.13 |
[Webhacking.kr] Challenge 9 (0) | 2016.11.13 |
[Webhacking.kr] Challenge 8 (0) | 2016.11.13 |
[Webhacking.kr] Challenge 7 (0) | 2016.11.09 |