Webhacking.kr Challenge 14 풀이.
일단 임의로 asdf를 누른 다음 check를 눌러본다.
오른쪽 마우스를 페이지 소스 보기를 눌러서 소스를 확인해본다.
일단 스크립트 소스를 확인해본다.
function은 사용자 정의 함수다.
ul은 변수에 document.URL 값을 넣는 것이다.
var는 자바스크립트 언어라는 것을 알려주고, ul에 ul.indexOf(".kr")의 값을 넣는다.
cf) indexOf는 문자열 안에 조건이 되는 문자열이 몇 번째 위치에 존재하는지를 확인하는 함수다.
"[문자열]".indexOf("[검색할 문자열]", [검색시작위치]);
즉 변수 ul에 있는 문자열 중 .kr이 시작하는 위치를 숫자로 표현하여 다시 ul에 저장한다는 것이다.
그 다음은 ul*30의 값을 ul에 저장시킨다.
그 ul이랑 pw.input_pwd.value를 비교하여 값이 같으면 Password를 출력한다.
pw.input_pwd.value는 출력 메시지 칸을 의미하는 거 같다. 즉 ul값을 출력 메시지 칸에 넣으면 될 거 같다.
ul 계산을 먼저 해봐야겠다.
document.URL은 현 주소를 의미한다.
다시 말해 ul이라는 것은 http://webhacking.kr/challenge/javascript/js1.html이란 값을 넣는 것이다.
그런 다음 .kr의 위치를 숫자로 변환하여 저장을 시킨다.
18번째인데 indexOf은 배열과 같이 첫 위치를 0으로 정의하니 18이 아니라 17입니다.
즉 17 x 30 => 510. 결국 이게 답이다.
Password는 260100이라고 나온다. 저 메시지만 등장하기에 인증(=Auth)을 해야 한다.
'# Related site issues > WEBHACKING.KR' 카테고리의 다른 글
Webhacking.kr Challenge 16. (0) | 2018.04.30 |
---|---|
Webhacking.kr Challenge 15. (0) | 2018.04.30 |
Webhacking.kr Challenge 17. (0) | 2018.04.30 |
Webhacking.kr Challenge 6. (0) | 2018.04.18 |
Webhacking.kr Challenge 18. (0) | 2018.04.18 |