Как обойти фильтры [SQL INJECTION]

Discussion in 'Песочница' started by Krist_ALL, 27 Aug 2009.

  1. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    играюсь с http://forum.antichat.ru/thread130070-damn.html

    не могу придумать как провести инекцию...
    PHP:
    <?php    
        
    // Retrieve data

        
    $id $_GET['id'];
        
    $id stripslashes($id);
        
    $id mysql_real_escape_string($id);

        if (
    is_numeric($id)){

        
    $getid="SELECT first_name, last_name FROM users WHERE user_id = '$id'";
        
    $result=mysql_query($getid) or die('<pre>' mysql_error() . '</pre>' );

        
    $num=mysql_numrows($result);

        
    $i=0;

        while (
    $i $num) {

            
    $first=mysql_result($result,$i,"first_name");
            
    $last=mysql_result($result,$i,"last_name");
            
            echo 
    "<pre>ID: $id<br>First name: $first<br>Surname: $last</pre>";

            
    $i++;
        }
        }
    ?>
    регистр глобалс офф.
    хелп
     
    #1 Krist_ALL, 27 Aug 2009
    Last edited: 27 Aug 2009
  2. pento

    pento Elder - Старейшина

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    А оно здесь точно есть? 0_о
     
  3. S00pY

    S00pY Active Member

    Joined:
    24 Apr 2007
    Messages:
    91
    Likes Received:
    109
    Reputations:
    21
    Это можно как-то обойти?0o
     
  4. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    да. это высший уровень. и он както обходится....
     
  5. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Выкладывай тогда весь код.
     
  6. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    PHP:



    <?php    
        
    // Retrieve data

        
    $id $_GET['id'];
        
    $id stripslashes($id);
        
    $id mysql_real_escape_string($id);

        if (
    is_numeric($id)){

        
    $getid="SELECT first_name, last_name FROM users WHERE user_id = '$id'";
        
    $result=mysql_query($getid) or die('<pre>' mysql_error() . '</pre>' );

        
    $num=mysql_numrows($result);

        
    $i=0;

        while (
    $i $num) {

            
    $first=mysql_result($result,$i,"first_name");
            
    $last=mysql_result($result,$i,"last_name");
            
            echo 
    "<pre>ID: $id<br>First name: $first<br>Surname: $last</pre>";

            
    $i++;
        }
        }
    ?>




     
    1 person likes this.
  7. S00pY

    S00pY Active Member

    Joined:
    24 Apr 2007
    Messages:
    91
    Likes Received:
    109
    Reputations:
    21
    Мне кажеться что хрен тут чё обойдёшь... если я не прав то я ударюсь головою в стену.
     
    2 people like this.
  8. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Это не обходится.
     
    1 person likes this.
  9. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    скачай и глянь. э не я выдумал код этот. вон написана хак тренировачная площадка....я глянул исходник и офигел сам.
     
  10. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    на то уровень защиты и максимальный что бы его не обойти )
     
  11. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Можно попробовать поиграться с мультибайтовыми кодировками.
     
  12. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    Это тоже не прокатит, так как используется mysql_real_escape_string(), а не addslashes()
     
  13. S00pY

    S00pY Active Member

    Joined:
    24 Apr 2007
    Messages:
    91
    Likes Received:
    109
    Reputations:
    21
    is_numeric() смущает само больше((
     
  14. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    в \sqli_low.php (самый легкий) никакой защити:
    >> $id=$_GET['id'];
    >>$getid="SELECT first_name, last_name FROM users WHERE user_id = '$id'";

    в \sqli_med.php (средный) уже защита:
    >> $id = mysql_real_escape_string($id);

    в \sqli_high.php защита stripslashes и mysql_real_escape_string.

    все уровни надо проходить по очереди.
    пройди сначало \sqli_med.php.. попробуй-ка обойти mysql_real_escape_string
     
  15. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    да они хакеры, хуле

    предлагают провести xss , обойти htmlspecialchars
    >>echo '<pre>Hello ', htmlspecialchars($_GET['name']), '</pre>';

    lfi в $file:
    PHP:
    switch($file){
      default:
      include(
    "fi_content.php");
      break;
    }
     
  16. Krist_ALL

    Krist_ALL Banned

    Joined:
    14 Jan 2009
    Messages:
    436
    Likes Received:
    193
    Reputations:
    24
    какой-то бредовый скрипт...
    eLWAux, я сразу смореть исходники)
     
  17. ElteRUS

    ElteRUS Elder - Старейшина

    Joined:
    11 Oct 2007
    Messages:
    367
    Likes Received:
    460
    Reputations:
    93
    sqli_med.php
    PHP:
        $id $_GET['id'];
        
    $id mysql_real_escape_string($id);

        
    $getid="SELECT first_name, last_name FROM users WHERE user_id = $id";

        
    $result=mysql_query($getid) or die('<pre>' mysql_error() . '</pre>' );
    Здесь переменная $id не обрамляется кавычками в запросе. Тобишь mysql_real_escape_string до фени )) Я находил такую скулю в реальном движке http://forum.antichat.ru/showpost.php?p=1279348


    Что касается sqli_high.php
    PHP:
        $id $_GET['id'];
        
    $id stripslashes($id);
        
    $id mysql_real_escape_string($id);
    Возможно из-за stripslashes+mysql_real_escape_string и при меджик_квотес=вкл а так же при правильно составленном значении переменной $id (ну там ////') получится так что некоторые слэши\кавычки заэкранируют друг друга, а некоторые нет ((; <= Вероятно я написал бред, просто строю предположения в какую сторону копать. А вот как они хотят обойти is_numeric - действительно интересно.
     
    3 people like this.
Loading...