-
[webhacking.kr] old-142022/Write-Ups 2022. 9. 20. 14:56
3팀 이윤지
14번 문제를 클릭하면 위와 같은 화면이 뜬다.
보이는 것이 없어 페이지의 소스 코드를 확인해 보았다.
<form name=pw><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form> <script> function ck(){ var ul=document.URL; ul=ul.indexOf(".kr"); ul=ul*30; if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; } else { alert("Wrong"); } }
이 부분을 해석해 보자면... check 버튼을 눌렀을 때 ck() 함수가 실행이 되는데
ck() 함수가 실행이 되면 우선 변수 ul에 document.URL이 저장되는 것 같다.
여기서 document.URL은 문서의 URL을 반환하는 속성이라고 한다!
그 후 다시 ul에 반환된 URL 중 .kr의 위치를 저장하게 된다.
그 위치에 30이 곱해지면 최종적으로 ul 값이 나오게 되는데 그 ul 값이 가장 첫 사진에 있었던 input 공간에 들어가는 값과 동일하면 문제가 풀리는 것 같다.
https://webhacking.kr/challenge/js-1/
위의 URL에서 .kr의 시작은 18이므로 ul 값은 18*30인 540이 된다.
540을 입력하고 check 버튼을 누르면....
문제 풀기 성공!
'2022 > Write-Ups' 카테고리의 다른 글
[ctf-d] 그림을 보아라 (0) 2022.09.20 [ctf-d] 그림을 보아라 (0) 2022.09.20 [ctf-d] Find Key(Image) (0) 2022.09.19 [ctf-d] DOS모드에서는... (0) 2022.09.19 [ctf-d] 플래그를 얻어라! (0) 2022.09.14