반응형
이전 46번문제랑 화면이 똑같다.
다른점은, lv에 따라 id와 cash값이 나왔던 이전 문제에 비해 id값만 결과로 나온다.
소스보기를 해보자
<?php
include "../../config.php";
if($_GET['view_source']) view_source();
?><html>
<head>
<title>Challenge 49</title>
</head>
<body>
<h1>SQL INJECTION</h1>
<form method=get>
level : <input name=lv value=1><input type=submit>
</form>
<?php
if($_GET['lv']){
$db = dbconnect();
if(preg_match("/select|or|and|\(|\)|limit|,|\/|order|cash| |\t|\'|\"/i",$_GET['lv'])) exit("no hack");
$result = mysqli_fetch_array(mysqli_query($db,"select id from chall49 where lv={$_GET['lv']}"));
echo $result[0] ;
if($result[0]=="admin") solve(49);
}
?>
<hr><a href=./?view_source=1>view-source</a>
</body>
</html>
다양한 필터링이 있다.
공백 우회로 Line Feed(\n)인 %0a값을 사용했고, or 우회로 ||를 사용했다.
'admin' 상수값에서 싱글쿼터가 필터링이므로 헥스값인 0x61646D696E를 사용했다.
5||id=0x61646D696E
입력하면 끝난다.
반응형
'[웹해킹] > [Webhacking.kr]' 카테고리의 다른 글
[Webhacking.kr] 51번 (0) | 2020.11.15 |
---|---|
[Webhacking.kr] 50번 (0) | 2020.11.15 |
[Webhacking.kr] 48번 (0) | 2020.11.15 |
[Webhacking.kr] 47번 - 아시는분? (0) | 2020.11.14 |
[Webhacking.kr] 46번 (0) | 2020.11.14 |