HTTP/1.1 200 OK
Server: nginx
Date: Mon, 08 May 2017 19:31:07 GMT
Content-Type: text/html
Connection: close
Vary: Accept-Encoding
P3P: CP='NOI CURa ADMa DEVa TAIa OUR DELa BUS IND PHY ONL UNI COM NAV INT DEM PRE'
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 880
<html>
<head>
<title>Challenge 16</title>
<body bgcolor=black onload=kk(1,1) onkeypress=mv(event.keyCode)>
<font color=silver id=c></font>
<font color=yellow size=100 style=position:relative id=star>*</font>
<script>
document.body.innerHTML+="<font color=yellow id=aa style=position:relative;left:0;top:0>*</font>";
function mv(cd)
{
kk(star.style.posLeft-50,star.style.posTop-50);
if(cd==100) star.style.posLeft=star.style.posLeft+50;
if(cd==97) star.style.posLeft=star.style.posLeft-50;
if(cd==119) star.style.posTop=star.style.posTop-50;
if(cd==115) star.style.posTop=star.style.posTop+50;
if(cd==124) location.href=String.fromCharCode(cd);
}
function kk(x,y)
{
rndc=Math.floor(Math.random()*9000000);
document.body.innerHTML+="<font color=#"+rndc+" id=aa style=position:relative;left:"+x+";top:"+y+" onmouseover=this.innerHTML=''>*</font>";
}
</script>
</body>
</html>
이상한 별이 보이는데, 밑에 있는 세번째 별은 색깔이 계속 변하고, 마우스를 대면 사라진다. 이 부분은
rndc=Math.floor(Math.random()*9000000);
document.body.innerHTML+="<font color=#"+rndc+" id=aa style=position:relative;left:"+x+";top:"+y+" onmouseover=this.innerHTML=''>*</font>"; 여기서 구현이 된다.
코드 중 특이한 부분은 if(cd==124) location.href=String.fromCharCode(cd); 이다.
cd에 들어가는 것은 mv(event.keyCode)인데 event.keyCode가 124가 되는 것은 |이고, |을 입력하니 패스워드를 확인할 수 있었다!
'웹 해킹 > webhacking.kr' 카테고리의 다른 글
webhacking.kr 4번 (0) | 2018.02.07 |
---|---|
webhacking.kr 17번 (0) | 2017.05.09 |
webhacking.kr 14번 (0) | 2017.05.09 |
webhacking.kr 6번 (0) | 2017.05.09 |
webhacking.kr 15번 (0) | 2017.05.09 |