🗂️ INDEX

글 작성자: Universe7202

 

 

 

 

 

이번 문제의 html 코드를 보면 아래와 같이 javascript 코드가 있는 것을 볼 수 있다.

 
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>";
}

 

키보드로 어떤 키를 눌렸을 때, 그 키의 값이 100이면 어떤행동, 97이면 어떤행동... 124이면 php 확장자를 가진 링크로 요청을 보낸다. 크롬의 콘솔창으로 124가 문자열로 어떤 값인지 알아보자.

 

124는 문자열로 | (파이프) 이다. 간단하게 url에 |.php로 요청을 보내면 다음과 같이 문제가 풀리게 된다.