프로젝트/Webhacking.kr

[Webhacking.kr] Challenge(old) 16번 문제

Uggjjini 2021. 7. 12. 13:11

문제 페이지는 해당 페이지와 같다.

 

 

페이지에는 * 이 총 3개 존재한다.

첫번째는 노란색의 큰 사이즈로 , 두 번째는 노란색의 작은 사이즈로, 세 번째는 다른 색의 작은 사이즈로 존재한다.

 

새로고침을 한 경우 세 번째 * 는 색깔이 변하는 것을 확인 할 수 있었으며 커서를 갖다댔을때 사라지는 것을 확인할 수 있었다.

 

색이 바뀜
사라짐

 

해당 페이지의 소스코드를 확인한다.

 

 

스크립트에서  mv함수의 마지막 if 문의 주석에 do it!! 이라고 적혔있는 것을 보아 이곳이 핵심인 듯하다.

 

if(cd==124) location.href=String.fromCharCode(cd)+".php"; // do it!

 

변수 cd 가 124인 경우 String.fromCharCode() 함수에 의해 아스키 코드를 기준으로 숫자 124를 받아 문자열로 바꾸어준다.

 

아스키 코드가 124인 경우의 문자는 | 가 되고, 그 뒤에 .php 확장자를 붙여준다.

 

URL 을 통해 |.php 로 이동하면 문제가 풀리는 것을 확인할 수 있다.