본문 바로가기

SWUFORCE 워게임👊🏻

[Webhacking] web ; old-14

<워게임_Webhacking_web_old-14>

 

https://webhacking.kr/challenge/js-1/

 

1. 접속하니 입력칸 하나와 check 버튼이 있었다.

 

 

 

2. 바로 페이지 소스코드를 확인해봤다. 

 

입력칸에는 어떤 pw(비밀번호)를 입력해야하는 것 같다.

script 부분을 자세하게 살펴보자.

function ck() {
  // 현재 문서의 URL을 가져온다.
  var ul = document.URL;
  
  // URL에서 ".kr" 문자열의 인덱스를 찾는다.
  // 만약 ".kr"이 없으면 -1을 반환한다.
  ul = ul.indexOf(".kr");
  
  // 인덱스 값을 30배로 만든다.
  // 만약 ".kr"이 없다면 ul은 -30이 된다.
  ul = ul * 30;
  
  // 폼에서 입력된 비밀번호와 계산된 ul 값을 비교한다.
  // ul과 입력된 비밀번호가 같으면 조건이 참이다.
  if (ul == pw.input_pwd.value) {
    // 입력된 비밀번호가 맞으면 브라우저의 URL을 수정하여 페이지를 리다이렉트한다.
    // 리다이렉트 URL은 "?"+(ul * 입력된 비밀번호)로 설정된다.
    location.href = "?" + (ul * pw.input_pwd.value);
  } else {
    // 비밀번호가 틀린 경우 "Wrong"이라는 경고 메시지를 표시한다.
    alert("Wrong");
  }
  
  // 기본 폼 제출 동작을 막기 위해 false를 반환한다.
  return false;
}

 

결론 : 비밀번호 = URL에서 ".kr" 문자열의 인덱스를 찾아 그 인덱스 값에 30을 곱한 것

 

 

 

3. 콘솔창에 ".kr"의 인덱스 값을 찾기 위한 코드를 입력하였다.

 

Index of .kr : 18

따라서 pw = 18 * 30 = 540

 

 

 

4. 540을 입력했더니 풀렸다~! 

 

해결 완!!👊🏻 쉽게 풀었다!

'SWUFORCE 워게임👊🏻' 카테고리의 다른 글

[Webhacking] web ; old-16  (1) 2024.09.24
[Dreamhack] LEVEL 1 ; web ; simple_sqli_chatgpt  (0) 2024.09.24
[Webhacking] web ; old-01  (0) 2024.08.10
[Dreamhack] Beginner ; web ; web-misconf-1  (0) 2024.08.06
[SuNiNaTaS] web ; 04  (0) 2024.08.06