WEBHACKING.KR 14번 문제 풀이
[ indexOf ]
오늘은 webhacking.kr의 1번 문제를 풀어보자.
문제에 들어가면 다음과 같이 폼 하나가 기다리고 있을것이다
우리는 이 폼의 용도를 모르니 우리가 매일 눌러보는 페이지 소스보기로 저 폼에 연결된 부분이 있는지 확인해보자
Javascript를 통해 연결된 폼이었다.
이 부분이 저 폼에 대한 정보인데, 만약 check 버튼이 눌러지면 chk() 함수를 실행하고,
<form name=pw><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form>
chk()함수가 실행되면 해당 페이지의 링크(http://webhacking.kr)를 불러와 .kr까지의 길이를 측정하고 이에 30을 곱한값과
name이 pw인 input폼에서 받아온 데이터와 대조하여
참이면 비밀번호를 계산해주고, 거짓이면 Wrong이라는 메시지를 담은 팝업을 띄워준다.
<script>
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"); }
}
</script>
자 그럼 저기에 넣어야 할 값을 계산해보자.
.kr까지의 길이만을 계산하니 http://webhacking 만큼의 글자수를 구하면 되는데, 이는 17자이다.
하지만, 해당 조건문을 참으로 만들어 실행하려면 30을 곱한값을 입력해줘야 한다.
따라서 17 * 30 = 510
즉 우리가 입력해줄 값은 510이다.
그럼 이제 입력해줘야할 값을 구했으니 입력해보자.
510을 넣고 check 버튼을 눌렀더니 다음과 같이 플래그 값이 도출되었다.
그리고 이 비밀번호 값이 이 문제에 대한 답이었다.
WEBHACKING.KR 14번 문제 클리어!
'보안공부 > Webhacking.kr 풀이' 카테고리의 다른 글
webhacking.kr 18번 문제 풀이 - SQL주사기 (0) | 2018.07.17 |
---|---|
webhacking.kr 17번 문제 풀이 - 콘솔계산기 (0) | 2018.07.10 |
webhacking.kr 6번 문제 풀이 - 감싸고바꾸고 (0) | 2018.07.07 |
webhacking.kr 15번 문제 풀이 - 이걸못풂? (0) | 2018.07.06 |
webhacking.kr 4번 문제 풀이 (0) | 2018.07.05 |