HyeM

[Webhacking.kr] 14번문제 본문

Wargame/Web Hacking

[Webhacking.kr] 14번문제

Hailey_HyeM207 2020. 2. 24. 02:44

오늘의 문제는 14번!


1. 웹페이지와 소스코드

우선 14번 문제에 들어가 보자.

Webhacking.kr 14번문제_[처음화면]
Webhacking.kr 14번문제_[처음화면의 소스코드]


2. 소스코드 분석

문제를 풀기위해, 위의 소스코드중 ck() 함수만 해석해본다.

function ck(){
  var ul=document.URL;
  //변수 ul에 현재 URL을 넣는다.
  ul=ul.indexOf(".kr");
  //ul에서 .kr를 찾아 첫번째 인덱스를 넣는다.
  ul=ul*30;
  //30을 곱한다.
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
  //만약 변수ul의 값과 입력값(input_pwd.value)값이 같다면 페이지(?ul*pw.input_pwd.value) 이동
  else { alert("Wrong"); }
  //아니면 경고창 띄운다.
}

 

*문법정리

document.URL  : .URL 속성으로 문서의 URL을 가져올 수 있다.

.indexOf() :호출한 string 객체(또는 배열)에서 주어진 값과 일치하는 첫번째 인덱스를 반환함(인덱스는 0부터 시작). ( 불일치시 -1 반환 ) 

 

location.href   : 새로운 페이지로 이동한다.

 

 


3. 풀이방법

text창에  ' url에서 .kr의 인덱스 * 30 ' 값( 18*30=540 )을 입력해주면, if(ul==pw.input_pwd.value)  를 만족하게된다.

그러면, 페이지는 ?ul*pw.input_pwd.value(ul은540이고, pw.input_pwd.value도 540이니, 이동하는 페이지는 ?291600 이다.) 로 넘어가게 되고 문제가 풀린다.

 


4. 풀이 

Webhacking.kr 14번문제_[성공화면]

위에 처럼 입력만 하니, 아무런 반응이 없어, 직접 페이지로 이동한다.

Webhacking.kr 14번문제_[성공화면]

 

'Wargame > Web Hacking' 카테고리의 다른 글

[Wargame.kr] QR code Puzzle  (0) 2020.03.21
[Wargame.kr] flee button 풀이  (0) 2020.03.21
[Wargame.kr] already got 풀이  (0) 2020.03.21
[Webhacking.kr] 6번문제  (0) 2020.02.17
[Webhacking.kr] 1번문제  (0) 2020.02.17
Comments