PDA

Просмотр полной версии : MySQL inj – дампим базы в два счета.


VDShark
27.11.2008, 01:46
Начиналось все как всегда — дело было вечером, делать было нечего... Ну и все в таком духе. Наткнулся я на sql-inj на одном интересном проекте — ну и как водится решил ее подраскрутиь :) И решил ка я поизучать строение БД этого проектенга...

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

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

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

site.com?q=union+select+1,group_concat(table_schem a,'.',table_name,'.',column_name),3+from+informati on_schema.columns+group+by+1

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

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

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

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

satana8920
27.11.2008, 01:56
на статью не тянет =) но плюч за старания поставлю
а вообще я юзаю СИПТ =)

c411k
27.11.2008, 02:37
http://raz0r.name/obzory/group_concat/

159932
27.11.2008, 03:18
P.S.
приват попалил =\
те кто хотел - знали ;)

Iceangel_
27.11.2008, 05:31
приват попалил =\
те кто хотел - знали ;)
я этот способ на одном блоге недавно видел...