닉네임과 comment, captcha 가 있고, 2초의 시간제한이있다.
다입력한뒤, submit 해봤다.
너무 느리다고한다.
<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="GGcHgodtVO" 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>
중간에 보면, html소스에 capcha_ 의 value 가 그대로 나온다.
id, cmt, captcha 의 값이 채워졌는지, captcha가 captcha_ 와 같은지 확인후 lv5.frm.submit() 해준다.
놀라운건, captcha값이 captcha_버튼의 value에 나타나있다는것이다.
2가지풀이법이있다.
첫번째는 콘솔에서 값을채운뒤 submit 하는것이다.
입력하고 엔터누르면 Tooslow 가 뜰 것이다.
뒤로가기 누른뒤 ,바로 오른쪽방향키로 명령어 소환해서 입력하면 풀린다.
두번째방법은 python 으로 소스를 짜서 푸는거다.
쿠키에 시간에따라변하는 st값이 있다.
먼저 요청을 보내고, captcha_ 버튼의 value 와 st 쿠키를 가져와
다음요청에 인자와 쿠키로 보내자.
[ python ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import requests
cookies={'PHPSESSID':' 세션아이디 '}
data={'id':'snwo','cmt':'hello'}
data['captcha']=r.text[index+16:index+26]
temp_d=r.cookies.get_dict()
cookies['st']=temp_d['st']
print(re.text)
|
st 와 sessionid 를 똑같이 맞춰주고, captcha_ 버튼의 value 를 가져와
captcha 값을 채워준뒤, 요청한다. 그럼 풀린다.
st값을 맞춰주지않으면, time limit 에 걸린다