본문 바로가기
웹 해킹(WebHacking)/CTF(webhacking.kr)

Challenge(old) - Challenge 20번 문제풀이

by LIZ0904 2021. 10. 6.
반응형

20번 문제

nickname, comment, captcha를 입력하고, Submit을 하는 문제이다. 이때 힌트이자 주의점은 time limit이 2초라고 나와있다는 점이다.

 

<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="Iai0VUxYYb" 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>

소스 코드를 확인해보면, Submit 버튼을 누르면 ck 함수가 실행되는 것을 알 수 있다.

fuction ck()를 보면, id(nickname), cmt(comment), captcha는 공백이 되면 return이 되고, captcha와 lv5frm.captcha_.value가 다르면 return이 된다.

 

 

lv5frm.id.value="liz0904";
lv5frm.cmt.value="hello liz0904";
lv5frm.captcha.value=lv5frm.captcha_.value;
lv5frm.submit();

콘솔창에 위와 같이 id, cmt, captcha를 직접 지정해준다.

 

 

콘솔창

이때 콘솔창(개발자도구)에서 엔터는 shift+Enter를 같이 눌러줘야 한다! 

 

 

늦게 입력할 시

개발자도구에서 입력을 하면 문제가 풀릴텐데 너무 늦게 해서 그런지 실패했다. 처음에 time limit이 2초라고 했으니 2초만에 해줘야 한다.

 

정답!

새로고침을 누르고 2초안에 콘솔창에 해당 코드를 붙여넣고 재빨리 엔터를 누르면 성공!

반응형

댓글