[webhacking.kr 2019 old] - challenge 16
글 작성자: 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로 요청을 보내면 다음과 같이 문제가 풀리게 된다.
'🚩CTF' 카테고리의 다른 글
[webhacking.kr 2019 old] - challenge 18 (0) | 2019.10.01 |
---|---|
[webhacking.kr 2019 old] - challenge 17 (0) | 2019.10.01 |
[webhacking.kr 2019 old] - challenge 14 (0) | 2019.10.01 |
[webhacking.kr 2019 old] - challenge 10 (0) | 2019.10.01 |
[webhacking.kr 2019 old] - challenge 8 (0) | 2019.10.01 |
댓글
이 글 공유하기
다른 글
-
[webhacking.kr 2019 old] - challenge 18
[webhacking.kr 2019 old] - challenge 18
2019.10.01 -
[webhacking.kr 2019 old] - challenge 17
[webhacking.kr 2019 old] - challenge 17
2019.10.01 -
[webhacking.kr 2019 old] - challenge 14
[webhacking.kr 2019 old] - challenge 14
2019.10.01 -
[webhacking.kr 2019 old] - challenge 10
[webhacking.kr 2019 old] - challenge 10
2019.10.01