qkqhxla1 2014. 8. 28. 14:29

http://rubiya.kr/sqli/prob8.php


<?php  
  
include "./dbconn.php";  
  include 
"./solve.php";  
  if(
preg_match('/\'/i'$_GET[id])) exit("No Hack ~_~");  
  if(@
ereg("admin",$_GET[id])) exit("HeHe");  
  
$query "select id from prob8 where id='{$_GET[id]}'";  
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>";  
  
$result = @mysql_fetch_array(mysql_query($query));  
  if(
$result['id'] == 'admin'solve();  
  
highlight_file(__FILE__);  
?>


id만을 받는다. admin을 직접 필터링. 쿼리결과값이 admin이면 통과.


http://blog.naver.com/withrubiya/70170942917


mysql에서 select와 SeLeCt는 같은걸로 취급. 고로 admin과 Admin도 같은 문자열로 취급.


http://rubiya.kr/sqli/prob8.php?id=Admin


query : select id from prob8 where id='Admin'