본문 바로가기

웹/webhacking.kr

webhacking.kr 14번

14번을 들어가면 위와 같은 화면이 뜹니다. 어떤 값을 입력할 수 있습니다.

소스 코드도 간단합니다. 버튼이 있고 그 버튼은 ck()함수를 통해서 동작합니다. 그러면 ck 함수를 분석해보겠습니다.

 

먼저 변수 ul에 document.URL의 값을 저장합니다. document.URL은 현재 URL을 문자열 형태로 가져오기 때문에 현재 ul에는 페이지의 URL이 문자열 형태로 저장되어 있습니다.

그리고 ul.indexof(".kr")을 해석하면 ul에서 .kr이 위치한 인덱스 정보를 반환합니다. 자세한 내용은 아래의 링크를 참고하면 도움이 됩니다.

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf

 

String.prototype.indexOf() - JavaScript | MDN

indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.  The source for this interactive example is stored in a GitHub repository.

developer.mozilla.org

그리고 ul의 현재 값에 30을 곱한 뒤 input_pwd의 값과 같으면 페이지를 이동하는 것으로 보아 이 값을 맞추어주면 문제가 해결될 것이라 생각했습니다. 인덱스는 직접 계산하면 18에 해당하고 이에 30을 곱하면 540이 되기 때문에 540을 넣어주었습니다.

그런데 아무 일도 일어나지 않았습니다. 그래서 살짝 당황한 뒤 다시 소스코드를 보니 ?+ul*pw.input_pwd.value로 이동하는 것을 보고 제가 직접 해당 값인 540(ul)*pw.input.value(540)인 값을 계산해서 url에 넣어주니 문제가 해결됐습니다.

' > webhacking.kr' 카테고리의 다른 글

webhacking.kr 17번  (0) 2021.02.06
webhacking.kr 16번  (0) 2021.02.06
webhacking.kr 12번  (0) 2021.02.01
webhacking.kr 11번  (0) 2021.02.01
webhacking.kr 8번  (0) 2021.02.01