Web Hacking/webhacking.kr 풀이

old-17 write-up

박연준 2024. 1. 10. 01:15

문제 정보

https://webhacking.kr/challenge/js-4/

 

Challenge 17

 

webhacking.kr

 

풀이

 

문제에 처음 접속하면 다음과 같이 입력 폼과 check 버튼의 제출 버튼이 있다.

 

123을 입력해보면 Wrong이란 문자열이 출력된다.

 

[Ctrl+U] 단축키를 통해서 페이지 소스 코드를 확인해보면 입력폼의 이름은 login이며, 소스 코드는 다음과 같다.

<html>
<head>
<title>Challenge 17</title>
</head>
<body bgcolor=black>
<font color=red size=10></font>
<p>
<form name=login>
<input type=passwd name=pw><input type=button onclick=sub() value="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;
function sub(){ if(login.pw.value==unlock){ location.href="?"+unlock/10; } else{ alert("Wrong"); } }
</script>

 

소스 코드를 분석하면 sub() 함수는 login의 pw 값이 unlock이면 location.href 함수를 이용해서 페이지를 이동하고 아니면 alert(Wrong)을 출력한다.

 

먼저 unlock를 파이썬을 이용해 계산하면 다음과 같이 7809297.1이 나왔다.

 

입력 폼에 7809297.1을 넣고 Check 버튼을 누르니 해결되었다.

'Web Hacking > webhacking.kr 풀이' 카테고리의 다른 글

old-24 write-up  (0) 2024.01.10
old-16 write-up  (0) 2024.01.10
old-18 write-up  (0) 2024.01.10
old-26 write-up  (0) 2024.01.08
old-24 write-up  (0) 2024.01.08