<?php
include "../../config.php";
if($_GET['view_source']) view_source();
?><html>
<head>
<title>Chellenge 39</title>
</head>
<body>
<?php
$db = dbconnect();
if($_POST['id']){
$_POST['id'] = str_replace("\\","",$_POST['id']);
$_POST['id'] = str_replace("'","''",$_POST['id']);
$_POST['id'] = substr($_POST['id'],0,15);
$result = mysqli_fetch_array(mysqli_query($db,"select 1 from member where length(id)<14 and id='{$_POST['id']}"));
if($result[0] == 1){
solve(39);
}
}
?>
<form method=post action=index.php>
<input type=text name=id maxlength=15 size=30>
<input type=submit>
</form>
<a href=?view_source=1>view-source</a>
</body>
</html>
소스코드
post방식으로 보내고
//는 없애고
'는 ''fh
id값의 0번째 부터 15번째까지만 잘라서 보낸다
select 1 from member where length(id)<14 and id='입력한값
쿼리문으로 보낸다
1이 나오면 클리어
일단 쿼리문의 마직막에 '가 빠져있음
마지막 싱글쿼터까지 닫아주면서 어떤 아이디를 가져와야함
싱글쿼터는 넘어가면서 하나가 더 붙지만
substr으로 15번째에 넣으면 자를 수 있음
admin+공백9자리+'
이렇게 보내면
admin ''가 되지만 '가하나짤려서
admin '가됨
쿼리문은
select 1 from member where length(id)<14 and id='admin '
이렇게됨
'Wargame, CTF > webhacking.kr' 카테고리의 다른 글
Webhacking.kr 43번 (0) | 2020.01.28 |
---|---|
Webhacking.kr 41번 (0) | 2020.01.24 |
Webhacking.kr 36번 (0) | 2020.01.24 |
Webhacking.kr 34번 (0) | 2020.01.24 |
Webhacking.kr 25번 (0) | 2020.01.24 |