반응형

입력창과 함께 소스보기



<?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>


get으로 lv이를 받고있고 필터링을 거친후 db로 부터 받은 결과가 admin이면 성공이다.

select,(,),or,and,limit, 쉼표(,),싱글쿼터('),더블쿼터("),띄워쓰기,cash,order,\,탭 많아 막아놓았다.

앞부분을 거짓으로 만들고 뒷부분에 id=admin이라는 부분을 넣어주면 될거같다.

다행히 or은 ||로 우회가 가능하고 =는 막아놓지 않아 쿼리가 쉽게 떠오른다.


0||id=0x61646D696E 넣어보자.


바로성공.


반응형

'보안 > webhacking' 카테고리의 다른 글

webhacking.kr old-53  (0) 2019.12.08
webhacking.kr old-50  (0) 2019.12.07
webhakcing.kr old-48  (0) 2019.12.07
webhacking.kr old-46  (0) 2019.12.06
webhacking.kr old-45  (0) 2019.12.06
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기