티스토리 뷰

Wargame/Webhacking.kr

Challenge 16

do9dark 2015. 7. 7. 16:17


크롬에서는 스크립트에 나와있는대로 움직이지 않기 때문에 제대로 움직이는 것이 보고 싶다면 다른 브라우저를 이용하면 된다.



전체적인 소스 내용을 설명하면 onkeypress 속성에 의해서 사용자가 키를 입력하면 스크립트가 동작이 되고 kk(1,1)가 onload 된다. 

onkeypress = mv(event.Keycode)로 키가 입력이 되면 function mv(cd)가 실행되어 kk(star.style.posLeft-50,star.style.posTop-50);가 실행된다.

kk는 function kk(x,y)가 실행되는데 random() 함수를 이용해서 색을 지정해주고 *을 표시해주고 마우스를 가져가면 사라지게 되어있다.


그리고 function mv(cd)에서

if(cd==100) star.style.posLeft=star.style.posLeft+50;

if(cd==97) star.style.posLeft=star.style.posLeft-50;

if(cd==119) star.style.posTop=star.style.posTop-50;

if(cd==115) star.style.posTop=star.style.posTop+50;

if(cd==124) location.href=String.fromCharCode(cd);

입력되는 키 값이 100, 97, 119, 115에 따라서 *의 위치가 다르게 표시된다.

그리고 124일 경우 다른 페이지로 이동시켜준다.


100, 97, 119, 115를 ASCII 코드로 변환하면 d, a, w, s로 방향키 모양이다.

그리고 124는 | 이므로 입력하면 location.href=String.fromCharCode(124)가 동작하면서 

http://webhacking.kr/challenge/javascript/|

로 페이지가 이동된다. |을 URL 인코딩하면 %7C이기 때문에 아래 주소와 같다.

http://webhacking.kr/challenge/javascript/%7C



webhacking.kr 을 입력하면 문제를 풀 수 있다.



'Wargame > Webhacking.kr' 카테고리의 다른 글

Challenge 21  (0) 2015.07.12
Challenge 20  (0) 2015.07.09
Challenge 19  (0) 2015.07.08
Challenge 18  (0) 2015.07.07
Challenge 17  (0) 2015.07.07
Challenge 15  (0) 2015.07.07
Challenge 14  (0) 2015.07.07
Challenge 13  (0) 2015.07.06
Challenge 12  (0) 2015.07.06
Challenge 11  (0) 2015.07.06
댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
링크
공지사항
Total
Today
Yesterday