본문 바로가기
웹 해킹(WebHacking)/CTF(webhacking.kr)

Challenge(old) - Challenge 14번 문제풀이

by LIZ0904 2020. 10. 1.
반응형

webhacking.kr/challenge/js-1/

 

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

예의예~

반응형

댓글