Web Hacking/webhacking.kr 풀이

old-16 write-up

박연준 2024. 1. 10. 01:55

문제 정보

https://webhacking.kr/challenge/js-3/

 

Challenge 16

 

webhacking.kr

 

풀이

 

문제에 접속하면 다음과 같이 *표시가 보인다.

 

 

[Ctrl+U] 단축키를 통해서 페이지의 소스 코드를 확인하면 다음과 같다.

<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 함수에서 cd 인자의 값이 124이면 do it이라고 한다.

f12를 눌러 개발자 도구에서 콘솔 창을 열어 console.log(mv(124))를 입력해주니 풀렸다.

 

 

'Web Hacking > webhacking.kr 풀이' 카테고리의 다른 글

old-38 write-up  (0) 2024.01.10
old-24 write-up  (0) 2024.01.10
old-17 write-up  (0) 2024.01.10
old-18 write-up  (0) 2024.01.10
old-26 write-up  (0) 2024.01.08