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

Обсуждение в разделе «Песочница», начал(-а) Krist_ALL, 27.08.2009.

  1. Krist_ALL

    Krist_ALL Banned

    Регистрация:
    14.01.2009
    Сообщения:
    436
    Одобрения:
    193
    Репутация:
    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.08.2009
    В последний раз редактировалось: 27.08.2009
  2. pento

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

    Регистрация:
    3.07.2006
    Сообщения:
    126
    Одобрения:
    24
    Репутация:
    -1
    А оно здесь точно есть? 0_о
     
  3. S00pY

    S00pY Active Member

    Регистрация:
    24.04.2007
    Сообщения:
    91
    Одобрения:
    109
    Репутация:
    21
    Это можно как-то обойти?0o
     
  4. Krist_ALL

    Krist_ALL Banned

    Регистрация:
    14.01.2009
    Сообщения:
    436
    Одобрения:
    193
    Репутация:
    24
    да. это высший уровень. и он както обходится....
     
  5. Qwazar

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

    Регистрация:
    2.06.2005
    Сообщения:
    989
    Одобрения:
    904
    Репутация:
    587
    Выкладывай тогда весь код.
     
  6. Krist_ALL

    Krist_ALL Banned

    Регистрация:
    14.01.2009
    Сообщения:
    436
    Одобрения:
    193
    Репутация:
    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 пользователь.
  7. S00pY

    S00pY Active Member

    Регистрация:
    24.04.2007
    Сообщения:
    91
    Одобрения:
    109
    Репутация:
    21
    Мне кажеться что хрен тут чё обойдёшь... если я не прав то я ударюсь головою в стену.
     
    Это одобряют 2 пользоветелей.
  8. BlackSun

    BlackSun Banned

    Регистрация:
    1.04.2007
    Сообщения:
    989
    Одобрения:
    1 168
    Репутация:
    446
    Это не обходится.
     
    Это одобряет 1 пользователь.
  9. Krist_ALL

    Krist_ALL Banned

    Регистрация:
    14.01.2009
    Сообщения:
    436
    Одобрения:
    193
    Репутация:
    24
    скачай и глянь. э не я выдумал код этот. вон написана хак тренировачная площадка....я глянул исходник и офигел сам.
     
  10. razb

    razb Active Member

    Регистрация:
    24.03.2009
    Сообщения:
    658
    Одобрения:
    133
    Репутация:
    18
    на то уровень защиты и максимальный что бы его не обойти )
     
  11. Qwazar

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

    Регистрация:
    2.06.2005
    Сообщения:
    989
    Одобрения:
    904
    Репутация:
    587
    Можно попробовать поиграться с мультибайтовыми кодировками.
     
  12. [Raz0r]

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

    Регистрация:
    25.02.2007
    Сообщения:
    425
    Одобрения:
    484
    Репутация:
    295
    Это тоже не прокатит, так как используется mysql_real_escape_string(), а не addslashes()
     
  13. S00pY

    S00pY Active Member

    Регистрация:
    24.04.2007
    Сообщения:
    91
    Одобрения:
    109
    Репутация:
    21
    is_numeric() смущает само больше((
     
  14. eLWAux

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

    Регистрация:
    15.06.2008
    Сообщения:
    860
    Одобрения:
    616
    Репутация:
    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 - Старейшина

    Регистрация:
    15.06.2008
    Сообщения:
    860
    Одобрения:
    616
    Репутация:
    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

    Регистрация:
    14.01.2009
    Сообщения:
    436
    Одобрения:
    193
    Репутация:
    24
    какой-то бредовый скрипт...
    eLWAux, я сразу смореть исходники)
     
  17. ElteRUS

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

    Регистрация:
    11.10.2007
    Сообщения:
    367
    Одобрения:
    460
    Репутация:
    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 пользоветелей.
Загрузка...
Similar Threads - обойти фильтры INJECTION
  1. raarkil
    Ответы:
    4
    Просмотры:
    2 976
  2. Flashid
    Ответы:
    3
    Просмотры:
    2 565