본문 바로가기
CTF, 워게임 문제 풀이/webhacking.kr

Webhacking.kr 14번 문제 풀이

by secumark 2022. 8. 26.
728x90

 

여기서부턴 다시 문제가 쉬워지나보다. 앞 문제들보다 맞춘 사람수가 훨씬 많다.

 

function ck(){
  var ul=document.URL;
  ul=ul.indexOf(".kr");
  ul=ul*30;
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
  else { alert("Wrong"); }
}

 

document.URL는 문서 URL

현재 이 문서의 document.URL은 'https://webhacking.kr/challenge/js-1/'이다.

이때 index.of(".kr") 즉, .kr이라는 문자열을 찾으면 ul에 저장한다.

 

document.URL.indexOf(".kr");
18이라고 함

ul=ul*30은 540

 

 if(ul==pw.input_pwd.value) 

{ location.href="?"+ul*pw.input_pwd.value; }
  else { alert("Wrong");
       }

만약 ul가 pw.input_pwd.value면 "?"+ul*pw.input_pwd.value 값을 입력하면 문제가 풀리는거고, 그게 아니면 Wrong이라는 경고문을 띄울 것이다.

그니까 지금 ul는 540이니까..

 "?"+ul*pw.input_pwd.value 

?+540*540은 291600..

 

 

풀면서 이게 맞나..? 했는데 이게 맞다..^^

 

 

참고로 왜 document.URL.indexOf(".kr"); 이 18이 나오는지 잘 몰랐는데 내가 indexOf의 의미를 잘못 알고 있었다. .kr의 위치가 어딨는건지 찾아내는건데.. 그러니까 https://webhacking.kr/challenge/js-1/ 여기선 https~부터 .kr까지 세어보면 18번째부터 시작된다는 것을 알 수 있다. (인덱스는 0부터 시작하니까)

728x90

댓글