Hacking/Webhacking.kr

Webhacking.kr - 10

ursobad 2021. 5. 27. 23:48

첫 페이지다.

관리자 도구로 소스를 봐보면

<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>

대충 정리해보면 이런식인것 같다.

0에 마우스를 올리면 y0u로 바뀌고 한번 클릭할때마다 왼쪽으로 1픽셀 만큼 움직인다.

그리고 left가 1600에 도달하면 ?go=1600이 되는것 같다.

 

일단 ?go=1600을 url에 그대로 같다 박으니까 no hack이 나온다

 

<a id=hackme style="position:relative;left:1600;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>

이렇게 left를 1600으로 바꾸고 0을 눌러보았는데 정말 아무일도 일어나지 않았다.

 

그래서 다음에는

<a id=hackme style="position:relative;left:0;top:0" 
onclick="this.style.left=parseInt(this.style.left,10)+1600+'px';
if(this.style.left=='1600px'){
	this.href='?go='+this.style.left" 
}
onmouseover=this.innerHTML='yOu' 
onmouseout=this.innerHTML='O'>
O
</a>

이렇게 onclick에서 한번 클릭하면 1600만큼 이동하게 바꾸고 해봤다.

풀렸다!

 

#####################

풀고 나서 두번째 방법이 왜 안되는지 생각해보니까

onclick="this.style.left=parseInt(this.style.left,10)+1+'px';

여기서 +1을 해버려서 1600을 주면 1601이 되버려서 안된것 같다.

<a id=hackme style="position:relative;left:1599;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>

이렇게 1599를 주니까 풀린당.