MySQL inj – дампим базы в два счета.

Discussion in 'Уязвимости' started by VDShark, 27 Nov 2008.

  1. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Начиналось все как всегда — дело было вечером, делать было нечего... Ну и все в таком духе. Наткнулся я на sql-inj на одном интересном проекте — ну и как водится решил ее подраскрутиь :) И решил ка я поизучать строение БД этого проектенга... ​

    СУБД оказалась MySQL 5-й ветки, что не могло не радовать. Начал изучать information_schema... и уж до того обширное строение базы у этого проекта оказалось, что просто аж жуть. С горем пполам перебрал (автоматически естественно) имена баз и имена таблиц — но и на то ушло немало времени. Отобрал наиболее интересные таблицы — решил получить имена их колонок... И тут я начал потихоньку ужасаться, видя сколько мне записей прийдется извлечь, и представляя сколько это займет времени. И начал думать — а как бы так мне сократить время... И тут мне вспомнилась интересная функция, которая появилась в 5-й ветке мускула, если мне не изменяет память. Имя сей чудной функции — group_concat():​


    и начал я составлять запросы вида (допустим у нас скуль такая: site.com/?q={SQL}):​

    Code:
    site.com?q=union+select+1,group_concat(table_schema,'.',table_name,'.',column_name),3+from+information_schema.columns+group+by+1

    И радости моей не было предела, когда эта чудная конструкция отработала :)

    Но как говорится — в наше время в любой бочке меда есть ложка дегтя... Дело в том, что group_concat() формирует строку не более длинны, заданной в системной переменной group_concat_max_len, которая по стандарту равна 1024.​

    Но все же время, потраченное на получение необходимой мне информации, удалось сократить в десятки раз, чем я остался очень доволен.​

    P.S. Возможно метод не новый, но я о подомном ничего не слышал, как думаю и многие. Поэтому решил поделится мини-зарисовкой на этот счет :)
     
    7 people like this.
  2. satana8920

    satana8920 Палач Античата

    Joined:
    22 Sep 2006
    Messages:
    396
    Likes Received:
    138
    Reputations:
    6
    на статью не тянет =) но плюч за старания поставлю
    а вообще я юзаю СИПТ =)
     
  3. c411k

    c411k Members of Antichat

    Joined:
    16 Jul 2005
    Messages:
    550
    Likes Received:
    675
    Reputations:
    704
    http://raz0r.name/obzory/group_concat/
     
    _________________________
  4. 159932

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

    Joined:
    28 Sep 2007
    Messages:
    587
    Likes Received:
    462
    Reputations:
    5
    приват попалил =\
    те кто хотел - знали ;)
     
    2 people like this.
  5. Iceangel_

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

    Joined:
    9 Jul 2006
    Messages:
    494
    Likes Received:
    532
    Reputations:
    158
    я этот способ на одном блоге недавно видел...