본문 바로가기
[웹해킹]/[Webhacking.kr]

[Webhacking.kr] 49번

by Hevton 2020. 11. 15.
반응형

시작 화면

 

이전 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