목표 : 소스 분석
타임 리밋이 2초 걸려있고 캡차가 걸려있다.
캡차를 복사할 수 있으면 그냥 admin은 아니더라도 2초내로 일단 시도는 해볼 수 있을 것 같아서
크롬 익스텐션을 통해서 오른쪽 클릭 잠금 해제를 시켰다.
그리고 d / d / 캡차 내용을 복사해 넣었더니 끝났다.
뭔가 피지컬을 요구하는 문제는 아니었을텐데 의도와는 다르게 푼 것 같아 소스코드를 좀 봤다.
<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="8uOz8WMaLy" 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>
C
복사
음 그냥 각각 값을 입력받아서 빈 값이 없으면 submit 되는 구조였다.
<script>로 돌아가고 있으므로 F12 개발자도구 console로 충분히 가능하다.
lv5frm.id.value='admin';
lv5frm.cmt.value='admin';
lv5frm.captcha.value=lv5frm.captcha_.value;
lv5frm.submit();
C
복사
개발자도구 콘솔에 복붙을 이렇게 하면 admin 까지 입력해야하더라도 문제를 풀 수 있겠다.