Challenge 16
16번 문제입니다. 이 역시 자바스크립트 문제입니다.
처음에 큰별하나와 작은별들이 여러 개 있었습니다. 아무키나 막 누르다가 별들이 움직이는 것을 확인했습니다.
WASD 알파벳을 누르면 저희가 게임을 할때의 화살표 모양처럼 별들이 이동하였습니다.
여기서 페이지 소스를 확인해 보겠습니다.
<body> 태그에 onkeypress가 보이네요. 그리고 몇몇 함수들이 보입니다.
onkeypress : 키보드 이벤트, 사용자가 키를 누르고 실행할때 스크립트를 실행 |
키보르르 누를 때 마다 mv(입력한 키)가 실행됩니다.
mv() 함수를 보면 매개변수로 받은 키의 값이 100,97,119,115 이라면 그에 맞게 별을 이동시킵니다.
여기서 숫자는 ASCII코드입니다. a = 97 처럼 누른 키를 아스키코드로 변환하여 넘겨줍니다.
마지막에 124일 경우에는 해당 페이지로 이동하는걸 알 수 있습니다.
아스키코드 124는 특수문자 | (파이프) 입니다.
|(파이프)를 눌러보면 페이지가 이동됩니다.
위와 같이 %7C가 추가되었는데요. | 를 URL인코딩하게 되면 %7C가 나옵니다.
위의 패스워드로 Auth하면 문제를 클리어할 수 있습니다.
'Wargame | CTF > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] Challenge 18 (0) | 2016.11.15 |
---|---|
[Webhacking.kr] Challenge 17 (0) | 2016.11.15 |
[Webhacking.kr] Challenge 15 (0) | 2016.11.14 |
[Webhacking.kr] Challenge 14 (0) | 2016.11.14 |
[Webhacking.kr] Challenge 13 (0) | 2016.11.13 |