Old 14번 문제

문제로 들어가봅시다 :D

문제로 들어가보니 입력란만 덩그러니 있습니다!

 

일단 소스코드도 볼까요 ㅎㅎㅎ?

소스코드

소스코드 보니 무언가가 있네요 :D

 

해석해보면 다음과 같습니다!

var ul=document.URL ul 변수에 URL을 저장
ul=ul.indexOf(".kr") ul 변수에 ".kr" 문자열이 있는 위치를 ul 변수에 저장
ul=ul*30; ul 변수에 30을 곱한 후 다시 저장
if(ul==pw.input_pwd.value) {location.href ~ } ul 변수와 입력값이 같으면 location.href 로 이동
else { alert("Wrong"); } 틀리면 Wrong 문자열의 경고 메세지 출력

indexOf 함수는 해당 문자열의 위치를 저장합니다 :D

(자세한 사항은 밑의 사이트에서 공부하시길 바랍니다!)

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

 

String.prototype.indexOf()

indexOf() 메서드는 호출한 String 객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환합니다. 일치하는 값이 없으면 -1을 반환합니다.

developer.mozilla.org

ul 변수에는 "https://webhacking.kr/challenge/js-1/" 이 들어있죠!

".kr"은 위의 문자열에서 19번째 위치에 해당되있는게 보이실 겁니다 ㅎㅎㅎ

 

그럼 19가 저장이 될까요?

indexOf는 첫 위치를 0으로 인식하기때문에 18이 저장이 됩니다!

그럼 18*30 = 540 이겠죠 ㅎㅎㅎ?

 

540을 입력해볼까요 :D ?

정답

쨘! 쉽죠 :D

해킹문제라고 하기엔.. 음 뭔가 아쉽네요 ㅎㅎㅎㅎ

 

이만 14번 문제 풀이였습니다 :D

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

Old - 18 (score:100)  (0) 2020.02.12
Old - 17 (score:100)  (0) 2020.02.10
Old - 16 (score:100)  (0) 2020.02.09
Old - 06 (score:100)  (0) 2020.02.03
Old - 15 (score 50)  (0) 2020.01.31