14번입니다. 원래 다른거 하려고 했는데 문제 너무 더러워서 이거 먼저 하려구요.
바로 들어가봅시다.
첫 화면입니다. 그냥 아무것도 없이 입력 박스랑 check 버튼만 있네요
아무것도 입력하지 않고 체크버튼을 누르면 Wrong이 뜹니다. 우선 html 코드를 확인해봅시다.
function ck() 안에 ul이란 변수로 패스워드 비교를 하는 구문이 있다.
ul은 처음에 document.URL 으로 선언되어있는데, 이 HTML 문서의 URL을 뜻한다. 정확하게 알아보려면 아래 사진처럼 개발자창에서 콘솔에 document.URL을 치면 선언된 값을 출력해준다.
첫 선언 이후 ul.indexof(".kr") 명령이 호출되는데, indexof는 javascript 에서 해당하는 문자열의 시작 위치를 반환하는 함수이다. ".kr"의 위치는 또 콘솔창을 통해 편하게 알 수 있다.
(세번씩이나 호구짓을 해서 에러를 띄운건 넓은 마음으로 넘어가주시길 바라며)
세번째로 ul이 재선언되는데 ul = ul*30. ul이 위에서 17이었으니까 이 과정까지 거치면 ul은 최종적으로 510이 됩니다.
if문에서 pw박스에 인풋된 값과 ul이 일치하는지 확인하면 새로운 메세지를 띄우네요. 패스워드가 포함된 메세지 같습니다.
이전 글에도 썼듯이, 이렇게 패스워드만 띄우고 아무 변화가 없는 문제는 뭐다? Auth로 가봅시다.
저는 미리 클리어하고 다시 풀었던지라 위와 같이 떴지만 아마 처음 푸시는 분들이라면 정상적으로 클리어 될거에요!
이와 같이 이번 문제는 쉽게 풀었습니다! 다음 문제는 아마 이번주 내로 차근차근 올려보려구요:)
웹해킹 말고도 할게 많은데 걱정이네요...
'Write-Up > Webhacking.kr' 카테고리의 다른 글
[50] Challenge 15 (0) | 2019.03.23 |
---|