Wargame/Web

[Webhacking.kr] 웹 해킹 old-16번 문제 풀이

1ullaby 2023. 9. 19. 18:34

old 16번 페이지에 들어가면 아래과 같이 큰 별 한 개와 작은 별 두 개가 있는 화면이 보인다.

 

개발자 도구를 열어 소스코드를 확인해 보았다.

 

onkeypress="mv(event.keyCode)" -> 키보드를 입력하면 각각의 ASCII 코드 값을 mv함수의 매개변수로 실행한다.

* event.keyCode : 자바스크립트로 사용자의 키 입력을 감지해 함수를 처리하고, 감지는 ASCII 코드에 기반한다.

 

mv 함수 코드를 보면 cd값 100, 97, 119, 115, 124가 키보드로 입력될 때 변화가 있다는걸 알 수 있다.

각 cd값을 ASCII코드로 변경하면

100 = 'd' 97 = 'a' 119 = 'w' 115 = 's' 124 = '|'

위와 같은 값을 얻어낼 수 있다.

 

문제페이지에서 a, s, d, w를 누르면 작은 별이 새로 생성되는 것을 볼 수 있고,

| (수직 바)를 누르면 문제가 해결된다.