webhacking.kr - challenge 14
아무것도 없고 텍스트 입력창과 버튼만 있어서 소스 코드 보기를 했다.
이 코드에서 가장 중요한 부분은 바로 ck라는 함수 이다.
| function ck() | |
| { | |
| var ul=document.URL; | |
| ul=ul.indexOf(".kr"); | |
| ul=ul*30; | |
| if(ul==pw.input_pwd.value) { alert("Password is "+ul*pw.input_pwd.value); } | |
| else { alert("Wrong"); } | |
| } |
ul이라는 변수를 현재 URL로 초기화한다. 그리고 ".kr"이 시작되는 부분의 인덱스를 반환한 값을 저정하고 다시 이 값의 30을 곱한 결과를 저장한다. 여기서 입력한 값과 ul의 값이 같다면 password를 알려준다. 물론 코드를 통해서도 알 수 있다.
그럼 먼저 ul의 값을 구해야 한다. 처음 URL은 http://webhacking.kr 으로 시작하니까 17이다. (인덱스는 0부터 시작이다.) 그러면 최종 ul의 값은 17*30 = 510이 된다. 그렇다면 password의 값은 510*510 = 260100이 된다.
확인을 위해 텍스트박스에 510을 입력했더니 260100이라는 값이 정상적으로 나왔다. 이제 260100을 [ Challenges - Auth ]로 이동해서 flag에 입력했다.
성공!
참고:
http://hackingboy.tistory.com/63
댓글
댓글 쓰기