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

Про Oracle
  #1  
Старый 27.03.2006, 22:41
Аватар для podkashey
podkashey
Познавший АНТИЧАТ
Регистрация: 18.06.2005
Сообщений: 1,004
Провел на форуме:
2821162

Репутация: 1320


По умолчанию Про Oracle

Пишу статью первый раз, поэтому извиняйте если что-то не так.
Сразу хочется отметить, что все что будет изложено ниже, является исключительно точкой зрения автора, поэтому возможны неточности, ошибки и даже откровенный бред.
Итак, только для www.antichat.ru :
Введение в СУБД Oracle
Oracle является клиент-серверной СУБД, сильно похожей на MSSQL (для тех кто знает). Так же как в MSSQL в Oracle есть свое процедурное расширение языка sql, называющееся PL-SQL – аналог T-SQL. Программирование на Pl-SQL напоминает обычное программирование, например в Pascal. Т е существует возможность написания отдельных программ, выполняющих какие-либо действия исключительно с использованием PL-SQL.
Мне не известны результаты тестов производительности, защищенности и тд. Но вроде как Oracle считается одной из самых защищенных и надежных СУБД, обладает огромным количеством настроек, тонкостей и соответственно стоит много денег. . В связи с этим грамотные DBA (Database Administrator) Oracle очень высоко ценятся. Правда, чтобы получить сертификат нужны немалые деньги (http://www.certification.ru/library/.../big35.html?26 – чуть-чуть инфы).
Дальше немного слухов:
Слышал про то, что при выпуске очередной версии Oracle, компания сделала сайт на его базе и предложила его сломать всем желающим. Через месяц примерно он рухнул, но попыток взлома было очень много и компания осталась довольна результатом.
С другой стороны в каком-то релизе СУБД, была ошибка с left join, в связи с чем, любой пользователь мог получать любые права. Но ее быстро устранили
Также авторизация происходит регистронезависимая (не знаю по поводу последних версий), т е AntiChat и aNtiCHAt это один и тот же пароль или логин, что существенно увеличивает возможность подбора пароля.
Некоторые факты по Oracle8 (вышла в 1997, по новым не знаю, кому интересно – найдет, на данный момент последняя версия Oracle10):
- фиксирование транзакций, откат, блокировка записей и таблиц на update, insert – почти везде сейчас есть
- встроенная в ядро Java-машина, т е можно использовать Java, а можно PL-SQL
- управление БД, объемом до 512 ПЕТАбайт (это на 1997 год, петабайт = 1024 терабайт)
- возможность создания распределенной БД
- секционирование таблиц и индексов (горизонтальная фрагментация)
- постепенный переход к объектной СУБД – абстрактные типы данных Object и др. BLOB,CLOB и др. – видео файлы, тексты и тд. Весом до 4 Гбайт.
- политика безопасности: поддерживается срок действия пароля, блокировка аккаунта после N попыток входа и др.
- главные пользователи SYS (По умолчанию пароль change_on_install) и SYSTEM (По умолчанию пароль manager)
Сам SQL в Oracle мало отличается от MSSQL. Попробую описать какие-то особенности Оракла, конечно не все, но так сходу трудно сказать, что особенность, а что нет, так как не общался тесно с другими СУБД:
Надо отметить, что каждому пользователю Oracle соответствует определенная схема – набор объектов БД: таблицы, привилегии, вьюхи и тд. У каждой схемы только один пользователь. Для просмотра схемы текущего пользователя можно использовать запрос select * from user_objects
Выполнение команд через ; должно работать, но это не факт. Обход фильтрации кавычек можно осуществить с помощью Chr(цифры разные тут).
Конкатенация (или как там это называется) строк осуществляется при помощи ‘stroka’||’stroka2’.
Существует таблица dual. Используется чаще всего для вывода констант в запросах. Например, select to_date(‘20063112’,’yyyyddmm’) NY from dual, чтобы не писать везде в запросе длинную конструкцию тудэйт. To_date не обязательная контрукция, но желательная, так как формат даты зависит от настроек. Можно и DateOf = ’27.03.2006’ писать.
Существует метатаблица ALL_TAB_COLUMNS, в которой основные поля: owner, table_name, column_name, data_type.
Data_type может пригодится при sql-inj так как при использовании UNION требуется приводить соответствующие поля к одному типу. Null может сработать, только для строкового типа поля. Также в Oracle обязательно писать select null FROM table. Хотя в качестве table вполне сойдет dual, доступ к которой имеют все пользователи.
Вместо top в MSSQL и limit в MySQL используется конструкция where rownum = 1 или in (1,2).
Также в Оракле возможны операции типа:
insert into table1 select 'че-нить типа шелла' from dual
и
update table1 tcd1 set tcd1.id = (select sub1.id from
(select tcd.idCD, tor.id from tableO tor, tableCC tcc,tableCD tcd
where tor.idO = tcc.idO and tcc.IDCC = tcd.IDCC) sub1
where
sub1.idCD = tcd1.idCD
)
where
tcd1.idD is null
В запрос можно не вникать – скопировал его из файла, убрав имена таблиц.
Т е можно передать в апдейт, делит и инсерт результат подзапроса.
Есть типы полей BFILE, в которых содержится ссылка на файл. Правда не много где применяется. Думаю можно использовать в корыстных целях. ))
Комментарии в Oracle обозначаются стандартно:
--однострочный
/*многострочный*/
Если интересует что-то конкретно, то спрашивайте - по возможности отвечу.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение Sql инъекций в Oracle, часть первая k00p3r Чужие Статьи 1 12.07.2005 08:51
Обнаружение Sql инъекций в Oracle, часть вторая k00p3r Чужие Статьи 0 13.06.2005 11:26
SQL инъекция и Oracle, часть 2 k00p3r Чужие Статьи 0 13.06.2005 11:24
Sql инъекция и Oracle, часть первая k00p3r Чужие Статьи 0 13.06.2005 11:23
SQL Injection в Oracle k00p3r Чужие Статьи 0 12.06.2005 12:41



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


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




ANTICHAT.XYZ