웹 해킹(WebHacking)/CTF(webhacking.kr)
Challenge(old) - Challenge 14번 문제풀이
LIZ0904
2020. 10. 1. 23:37
반응형
Challenge 14
webhacking.kr
이번 문제에 들어가면 위와 같은 입력란 하나만 딱 뜬다. 아무 값이나 입력해보자!
임의로 1234를 입력해봤는데 Wrong이라는 메세지가 뜬다.
Ctrl+u 또는 마우스 우클릭-> 페이지소스보기(V)를 클릭하면 페이지 소스를 볼 수 있다.
그러면 페이지 소스코드를 확인할 수 있다.
중간부분에 위치한 function 함수를 한줄씩 살펴보자
var ul=document.URL;
ul 이라는 변수를 document.URL로 초기화 해준다. 현재 페이지의 주소 값(https://webhacking.kr/challenge/js-1/)을 넣어주라는 의미이다.
ul=ul.indexOf(".kr");
ul 값에서 ".kr" 문구를 하나로 묶어서 봤을 때, 이 부분의 인덱스 값을 다시 ul에 넣으라는 의미이다. ul 값에서 h(https부분)부터 ".kr"까지 인덱스 번호를 세어보면 18이 된다.
즉, ul의 값은 이제 18이 된다.
ul=ul*30;
ul 값에 30을 곱해주면, 540(18*30)이 된다.
if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
else { alert("Wrong"); }
if문을 확인해보면, ul과 입력값이 같으면 정답이 나오는 것 같고, 아니면 "Wrong" 메세지가 뜬다. 아까 ul 값과 다른 값을 입력했기에 Wrong 문구가 뜬 것 같다.
이번엔 페이지로 돌아가서 ul 값인 540을 입력해보자!
그럼 정답 메세지가 뜬다.
※ 정답 입력시, 엔터말고 마우스로 check 버튼을 눌러주는게 더 정확하다
정답은 540
예의예~
반응형