Webhacking.kr old 14번 Writeup

  • 오늘은 Webhacking.kr의 14번 문제를 한번 풀어보겠습니다.

  • 문제 사이트에 접속을 해보면 무언가의 입력을 받고 값을 check해서 그에 맞는 결과 값을 return해주는 것을 보여주고 있습니다.

  • 제일 먼저 개발자모드(F12)로 들어가서 홈페이지의 소스코드를 확인해주겠습니다.

  • 소스코드를 자세히보면 자바스크립트 코드가 있는 것을 확인할 수 있습니다.

  • 해당 소스코드를 분석해보면 아래와 같습니다.

  • 즉, .kr이 검색되는 위치 x 30을 계산해서 pw.input_pwd.value(입력창)에 넣으면 solve가 되고 .kr이 시작되는 위치를 계산해보면 0부터 시작해서 18번째 인덱스 위치에 있다는 것을 알 수 있다.

function ck(){
  var ul=document.URL; // document.URL은 문서의 URL을 반환하는 속성을 말한다.
  ul=ul.indexOf(".kr"); // indexOf() 함수는 문자열에서 원하는 문자열을 검색하는 내장함수로 위치값을 index로 반환한다. -> 즉, .kr이 검색되는 위치의 값을 index로 반환한다.
  ul=ul*30; // ul * 30을 한다. -> .kr이 검색되는 위치 * 30
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; } // ul의 값이 pw.input_pwd.value값과 일치하면 if문이 실행된다. -> 즉, .kr이 검색되는 위치 * 30의 값을 pw.input_pwd.value의 값에 넣어주면 될 것 같다.
  else { alert("Wrong"); }
}

  • 즉, 18 x 30 = 540이기 때문에 540이라는 값을 pw.input_pwd.value(입력창)에 넣으면 solve가 된다는 것을 알 수 있다.

좋은 웹페이지 즐겨찾기