예전에 올려두었던 블로그글을 옮김.
old 14번
들어가면 보이는 화면
아무 문구도 없고 그냥 입력 박스랑 버튼이 있다
숫자를 아무거나 입력해보면 wrong이 뜨는데 소스코드를 살펴보자
웹해킹은 자바스크립트 문법을 좀 공부하고 하면 좋다 예전에 동아리에서 웹해킹 문제 풀었을때는 자바스크립트, SQL을 아무것도 몰라서 힘들었는데... 지금은 조금이라도 하고 보니 이해하기 더 쉬운듯
다른 부분은 신경쓰지말고
<script> </script>
사이 부분을 보자
함수가 하나 있는데 ul이라는 변수에 문서 URL을 저장하고, 다시 ul에 indexOf라는 함수를 써서 값을 저장한다
그리고 그 값에 30을 곱해 ul에 다시 저장
사용자 입력값과 ul의 값이 일치하면 문제가 풀릴 것 같다
그럼 먼저 indexOf 라는 함수를 알아야한다 index 값을 찾는, 대충 몇번째 문자인지를 찾는 함수 같은데..
https://webhacking.kr/challenge/js-1/
url의 .kr 이 나올때까지 0부터 시작하여 세어보면 18번째이다
18*30 = 540
540을 입력하니 문제가 풀렸다
그럼 indexOf 함수가 뭔지 찾아보자
이런 함수이다 String 뿐만아니라 배열에서도 마찬가지로 사용되니 외워두면 좋을 것 같다