WarGame/Webhacking.kr

[Webhacking.kr] old-20 Answer

Old-20 Domain & Tool

  • 구분 : 코드 분석
  • 문제풀이에 사용된 도구 
    • Chrome 103.0.5060.66 

 


Old-20 Question & Answer

문제 페이지에 들어가면 입력칸과 Captcha value를 입력하는곳, 그리고 좌측상단에 2second의 time limit이 있다고 적혀있다. 우선은 따라가주자

입력의 결과는 이렇다.

아... 느리다고 한다. 코드를 보자

<html>
<head>
<title>Challenge 20</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
input { background:silver; color:black; font-size:9pt; }
</style>
</head>
<body>
<center><font size=2>time limit : 2 second</font></center>
<form name=lv5frm method=post>
<table border=0>
<tr><td>nickname</td><td><input type=text name=id size=10 maxlength=10></td></tr>
<tr><td>comment</td><td><input type=text name=cmt size=50 maxlength=50></td></tr>
<tr><td>captcha</td><td><input type=text name=captcha><input type=button name=captcha_ value="fvvpNObSi5" style="border:0;background=lightgreen"></td></tr>
<tr><td><input type=button value=Submit onclick=ck()></td><td><input type=reset value=reset></td></tr>
</table>
<script>
function ck(){
  if(lv5frm.id.value=="") { lv5frm.id.focus(); return; }
  if(lv5frm.cmt.value=="") { lv5frm.cmt.focus(); return; }
  if(lv5frm.captcha.value=="") { lv5frm.captcha.focus(); return; }
  if(lv5frm.captcha.value!=lv5frm.captcha_.value) { lv5frm.captcha.focus(); return; }
  lv5frm.submit();
}
</script>
</body>
</html>

ck함수를 보면될거 같다. 우선 Nickname, comment, captcha에서 비어있는 값이 있으면 그거로 포커스를 옮긴다. 옮긴 포커스가 다 작성되어있고, captcha가 맞으면 submit의 button값을 post한다. 근데 캡처값이 value로 지정되어있다. 즉 console로 당겨올 수 있다는 것이다. 다음의 값을 새로고침 직후에 웹콘솔에 입력하자 이래서 캡처는 String이 되어서는 안된다.

lv5frm.id.value="Reducto"
lv5frm.cmt.value="HELLO"
lv5frm.captcha.value=document.getElementsByName("captcha_")[0].value
ck()

NICE!

'WarGame > Webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] old-22 Answer  (0) 2022.07.27
[Webhacking.kr] old-21 Answer  (0) 2022.07.22
[Webhacking.kr] old-19 Answer  (0) 2022.07.22
[Webhacking.kr] old-18 Answer  (0) 2022.07.22
[Webhacking.kr] old-17 Answer  (0) 2022.07.22