- 문제경로
- 문제풀이
[문제경로]
https://webhacking.kr/challenge/js-4/
[문제풀이]
1. 문제에 접속하면 입력하여 제출가능한 form이 하나 존재한다.
2. Ctrl+U를 통해 소스 코드를 확인해 봤다.
<html>
<head>
<title>Challenge 17</title>
</head>
<body bgcolor=black>
<font color=red size=10></font>
<p>
<form name=login>
# 입력 가능한 form 생성
<input type=passwd name=pw><input type=button onclick=sub() value="check">
# form 안에 비밀번호를 입력받는 "pw" 입력 필드와 클릭 가능한 check 버튼 생성
</form>
<script>
unlock=100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+1/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10+100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10-100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10/100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10*100*10*10+100/10-10+10+50-9*8+7-6+5-4*3-2*1*10+9999999;
# 수식의 결과가 "unlock"에 저장
function sub(){ if(login.pw.value==unlock){ location.href="?"+unlock/10; } else{ alert("Wrong"); } }
# check 버튼 클릭 시에 실행되는 함수로 입력한 "pw"값이 "unlock"값과 일치하면 다른 URL로 이동하고 그렇지 않을 경우 Wrong이라는 경고창을 띄운다.
</script>
"unlock" 값이 "pw"값과 일치해야 문제가 풀릴 것이다. 따라서 "unlock"값을 구해볼 것이다.
3. 계산식을 복사해서 개발자 도구의 콘솔창에서 실행시켜 결과 값을 출력해 봤다.
출력된 결과인 "7809297.1"을 "pw" 입력창에 넣고 check 버튼을 클릭했더니 문제가 풀렸다.
'Wargame & CTF > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-06 (0) | 2024.04.10 |
---|---|
[Webhacking.kr] old-16 (0) | 2023.09.22 |
[Webhacking.kr] old-15 (0) | 2023.09.17 |
[Webhacking.kr] old-03 (0) | 2023.09.15 |
[Webhacking.kr] old-01 (0) | 2023.09.15 |