소스 코드를 먼저보자
<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.left-50,star.style.top-50);
if(cd==100) star.style.left=parseInt(star.style.left+0,10)+50+"px";
if(cd==97) star.style.left=parseInt(star.style.left+0,10)-50+"px";
if(cd==119) star.style.top=parseInt(star.style.top+0,10)-50+"px";
if(cd==115) star.style.top=parseInt(star.style.top+0,10)+50+"px";
if(cd==124) location.href=String.fromCharCode(cd)+".php"; // do it!
}
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>
mv(124)이면 아마 성공으로 예상되는 곳으로 넘어간다.
kk(x,y)는 Math.floor함수는 주어진 숫자와 같거나 작은 정수 중에서 가장 큰 수를 반환하는 함수이고
Math.random()은 0~1사이의 부동소숫점 의사 난수를 반환하는 함수이다 밑을 보면 그값이 id가 aa인 요소의 색깔에 쓰이는 모습을 볼수있고 x와 y를 이용해 left와 top위치를 잡고있다.
즉 kk는 aa의 위치와 색을 잡는 함수이다.(쓸데없다.)
mv함수는 키가 눌려질때 동작하는데 event.keyCode함수는 askii코드에 기반하며 keyCode를 반환한다.
즉 ASKII코드 124번에 해당하는 문자를 입력하면 이동할것을 보인다.
| 를 입력하면 클리어
'보안 > webhacking' 카테고리의 다른 글
webhacking.kr old-18 (0) | 2019.11.25 |
---|---|
webhacking.kr old-17 (1) | 2019.11.25 |
webhacking.kr old-15 (0) | 2019.11.25 |
webhacking.kr old-14 (0) | 2019.11.25 |
webhacking.kr old-12 (0) | 2019.11.24 |
최근댓글