반응형
https://webhacking.kr/challenge/js-3/
역시 URL을 통해 JS 관련 문제임을 알 수 있다.
소스코드를 보면 아래와 같다.
<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 함수를 통해, 내가 입력한 키가 아스키코드 값(event.keyCode)으로 들어가고, 이게 뭐냐에 따라 결과가 달라진다.
w, a, s, d로 *을 이동시킬 수 있지만, | 를 입력하면 다른 php 페이지로 넘어가게 된다.
바로 문제를 풀 수 있다.
반응형
'해킹 > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Challenge(Old) old-19 풀이 (0) | 2022.06.26 |
---|---|
[webhacking.kr] Challenge(Old) old-17 풀이 (0) | 2022.06.26 |
[webhacking.kr] Challenge(Old) old-15 풀이 (0) | 2022.06.25 |
[webhacking.kr] Challenge(Old) old-14 풀이 (0) | 2022.06.25 |
[webhacking.kr] Challenge(Old) old-12 풀이 (0) | 2022.06.21 |