webhacking.kr 14번 풀이

2015. 8. 14. 03:08wargame/webhacking.kr

webhacking.kr 14번 풀이


자바스크립트가 어디서 동작하는지만 알면 클리어 되는 문제이다.




[HINT]


1. javascript




URL을 보면 알 수 있지만, JS, 자바스크립트에 관한 문제임을 알 수 있다.

JavaScript PHP의 차이라고 한다면 어디서 소스가 실행되느냐를 따질 수 있다.


웹 페이지에서 실행되는 JS의 경우, PHP와 다르게 소스를 클라이언트가 볼 수 있고 그것을 변조할 수도 있다.

그러므로 소스보기개발자 도구(F12)를 통해 소스를 보게 되면 javascript 구문을 볼 수 있다.



<script>와 </script> 사이에 있는 이 소스가 js 소스이며 

문제 페이지에 있는 입력 칸에 적은 값이 ul의 값과 같다면 password의 값을 내놓고 그 값은 ul의 제곱과 같다.

(입력 값(pw.input_pwd.value)가 ul과 같을 때, ul과 입력 값을 곱한 값이 password가 되므로 ul을 두 번 곱한 값과 같다)


그렇다면 ul의 값을 알아야 하는데

ul은 document.URL이며 ul.indexOf(".kr") 의 값을 ul의 값으로 한다

즉 index.URL.indexOf(".kr")의 값이 ul의 값이 된다.


document.URL.indexOf()해당 페이지의 URL에서 ()내 문자열이 몇 번째에 있는 지를 출력해주는 함수이다.

URL 창에 http://를 생략할 수도 있으므로 잘 못 계산 할 수도 있다.

다른 js 문제에서는 직접 손으로 해독하기엔 힘든 길이의 소스도 있으므로 직접 계산하는 것보다

개발자 도구의 console을 이용하는 것을 추천한다.


javascript 클라이언트 쪽에서 실행되는 것이기 때문에 페이지 내에서 js 명령어를 내리면 실행할 수 있다.





개발자 도구의 console 부분에서 document.URL.indexOf(".kr")을 입력하게 되면

그에 대한 결과값이 출력된다.


나온 ul의 값에 30을 곱한 값을 입력하게 되면 정답을 출력한다.




'wargame > webhacking.kr' 카테고리의 다른 글

webhacking.kr 17번 풀이  (0) 2018.08.08
webhacking.kr 4번 풀이  (0) 2018.08.08
webhacking.kr 14번 풀이  (0) 2015.08.14
webhacking.kr 6번 풀이  (0) 2015.08.13
webhacking.kr 15번 풀이  (0) 2015.08.13
webhacking.kr 1번 풀이  (0) 2015.08.08