-
[Webhacking.kr] 16번 풀이Wargame/webhacking.kr (old) 2019. 4. 19. 21:03
화면에 별만 나와있다.
소스 코드를 보자!
소스 코드를 보니 mv함수가 정의되어 있다.
mv함수는 event.keyCode인 것을 보니 특정 키를 누르면 실행되는 함수이다.
mv함수를 해석해보았다.
kk(x,y) 랜던 값의 색을 가진 *을 x, y값에 맞게 화면에 추가
mv함수의 매개변수인 cd가 100일 경우, 별 왼쪽으로 +50 이동
97일 경우, 별 왼쪽으로 -50 이동
119일 경우, 별 위쪽에서 -50 이동 (아래로 이동)
115일 경우, 별 위쪽에서 +50 이동 (위로 이동)
124이면, 특정 주소로 이동
우선 mv함수를 실행해보기 위해 keycode 정리표의 값대로 키를 눌러보았으나,
mv함수대로 별이 이동하지 않았다.
다른 방법이 무엇이 있을까 생각하다가 아스키 값을 이용해보기로 하였다.
아스키 코드표는 아래와 같다.
[출처] https://simple.wikipedia.org/wiki/ASCII
100 : d (→)
97 : a (←)
119 : w (↑)
115 : s (↓)
124 : | (파이프)
아래 사진과 같이 해당 키를 누르면 별이 움직이는 것을 확인할 수 있다.
만약, 별이 움직이지 않는다면 Internet Explorer를 이용하면 된다.
왜인지는 모르겠으나, Chrome에서는 별이 움직이지 않는다...;;
별이 움직이는 것을 확인하였으니,
어딘가로 이동하는 의심스러운 124번의 키 코드를 가진 |(shift + \)를 눌러보았더니
아래와 같이 password를 알려주는 페이지로 이동하였다.
알아낸 password를 Auth페이지에 인증하면 문제가 풀린다.
(Chrome에서 별이 움직이는 것은 확인할 수 없지만 소스 코드는 정상작동 하기 때문에|를 누르면 password를 알려주는 페이지로 이동한다.)키를 직접 눌리는 방법 말고도 이 문제를 풀 수 있다.
그것은 바로 아주 유용한 도구인 개발자 도구를 이용하는 방법이다.
아래와 같이 Console창에 mv함수를 정의해주고,
mv(124)를 실행시켜주면, 아까와 같은 password를 알려주는 페이지로 이동한다.
'Wargame > webhacking.kr (old)' 카테고리의 다른 글
[Webhacking.kr] 18번 풀이 (0) 2019.04.19 [Webhacking.kr] 17번 풀이 (0) 2019.04.19 [Webhacking.kr] 15번 풀이 (0) 2019.04.19 [Webhacking.kr] 14번 풀이 (0) 2019.04.18 [Webhacking.kr] 13번 풀이 (0) 2019.04.16 댓글