▼ Challenge 12는 Javascript 문제로 소스코드는 다음과 같습니다.
Ascii 코드 값을 문자로 변경시킨 값을 eval() 함수를 통해 실행하고 있습니다.
eval() : 문자열로 넘어온 Javascript 구문을 실행
즉, WorkTimeFun 변수에 Javascript 구문이 숨어 있다는 것입니다.
▼ WorkTimeFun 변수를 [개발자 도구]의 [Console]창에서 실행시킨 장면입니다.
▼ 이 구문을 풀어서 보면 다음과 같습니다.
for문과 function enco_(x)문은 함정인 것 같습니다.
eval() 함수를 실행시켰을 때 의미없는 값을 출력시키기 위함입니다.
if문에서 ck변수가 해당 값이면 Password 알림창을 띄우도록 설계되어 있습니다.
ck는 URL에서 "=" 문자 다음의 문자열을 짤라서 가져옵니다.
▼ URL에 ?=test라고 입력하면 document.URL.substr(document.URL.indexOf('=')) 값은 다음과 같습니다.
본론으로 들어가서,
▼ if문의 문장을 풀어 보면 다음과 같습니다.
이 문장을 URL에 추가하면 Success!
( ?를 붙이고 문장을 추가해주어야 쿼리가 전송되겠죠? )
'WarGame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Challenge 51 :: Raw MD5 (0) | 2015.11.24 |
---|---|
[webhacking.kr] Challenge 21 :: Blind SQL Injection 1 (0) | 2015.11.23 |
[webhacking.kr] Challenge 10 :: CSS (0) | 2015.11.22 |
[webhacking.kr] Challenge 61 :: SQL Injection (alias) (0) | 2015.11.22 |
[webhacking.kr] Challenge 59 :: SQL Injection (reverse함수) (0) | 2015.11.21 |