728x90
<?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]); //admin 문자열을 빈 문자열로 치환
  $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으로 감싼다. 그럼 안쪽의 admin은 빈 문자열로 치환되서 최종적으로 admin만 남게된다.

답: ?id=adadminmin

728x90

'Lord of SQL Injection' 카테고리의 다른 글

golem  (0) 2022.12.22
skeleton  (0) 2022.12.22
troll  (0) 2022.12.22
orge  (0) 2022.12.22
darkelf  (0) 2022.12.22

+ Recent posts