ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LOS nightmare
    WebHacking/Load Of Sql Injection 2018. 2. 15. 04:40
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php 
      include "./config.php"
      login_chk(); 
      dbconnect(); 
      if(preg_match('/prob|_|\.|\(\)|#|-/i'$_GET[pw])) exit("No Hack ~_~"); 
      if(strlen($_GET[pw])>6exit("No Hack ~_~"); 
      $query = "select id from prob_nightmare where pw=('{$_GET[pw]}') and id!='admin'"
      echo "<hr>query : <strong>{$query}</strong><hr><br>"
      $result = @mysql_fetch_array(mysql_query($query)); 
      if($result['id']) solve("nightmare"); 
      highlight_file(__FILE__); 
    ?>
    cs


    나의 실력이 부족해서 그런지 문제가 너무 어려워진다 ㅠㅠ

    이번에는 '를 사용할수있다.

    sql injection을 하기위해서는 '를 닫아주고 )를 닫아주고 주석을 해줘야된다.

    ' + ) + (;%00,/*)

    위 필수조건 문자열 길이는 4글자, 우리가 입력할수있는 최대 글자는 6글자 그렇다면 2글자밖에 입력을 못해준다..

    false sql injection을 이용하면 2글자로 sql injection을 해줄수있다.


    false sql injection은 형변환이 되면서 발생하는 취약점이다.




    위와같이 내가 비교하는 string형 컬럼값에서 가장 첫번째 숫자와 비교를 한다.

    당연히 문자열밖에없다면 0이다.

    pw = ''도 0이다.


    0/0, 0-0, 0*0, 0=1 과같이 pw를 0으로 만들어주고 where을 진행되게 해주거나 pw를 true로 만들어주어서 문제를 풀수있다.


    'WebHacking > Load Of Sql Injection' 카테고리의 다른 글

    LOS dragon  (0) 2018.02.18
    LOS navis  (0) 2018.02.15
    LOS succubus  (0) 2018.02.15
    LOS zombie_assassin  (0) 2018.02.15
    LOS assassin  (0) 2018.02.15
Designed by Tistory.