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 обозначаются стандартно:
--однострочный
/*многострочный*/
Если интересует что-то конкретно, то спрашивайте - по возможности отвечу.
 
Ответить с цитированием

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

Репутация: 1320


По умолчанию

Щас посмотрел на часы - чуть не прослезился - времени ушло многовато...
Понял что такое писать статьи с нуля - теперь понимаю и уваажаю людей, которые их пишут.
 
Ответить с цитированием

  #3  
Старый 27.03.2006, 23:02
Аватар для qBiN
qBiN
Постоянный
Регистрация: 20.01.2005
Сообщений: 899
Провел на форуме:
1535446

Репутация: 182


Отправить сообщение для qBiN с помощью ICQ
По умолчанию

Цитата:
Щас посмотрел на часы - чуть не прослезился - времени ушло многовато...
Угу а ничего и не написал.
Ты уж прости но это не статья, а одна вода.
 
Ответить с цитированием

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

Репутация: 1320


По умолчанию

Цитата:
Угу а ничего и не написал.
Ты уж прости но это не статья, а одна вода.
ZaCo попросил написать статью про отличие Oracle от других СУБД. Я написал. Можно было конечно как обычно написать, что надо подобрать количество столбцов в скл-инж, найти тот, который выводится на экран, вывести первую запись итд. Но на одном античате я думаю таких тем с десяток. Я написал то, что такое Оракл вообще и то, чем он отличается от остального.
 
Ответить с цитированием

  #5  
Старый 28.03.2006, 00:15
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

2qBiN ну не соглашусь имхо довольно полезная статья, хоть по информации наделся чуть на большее. тем более описания оракла "вкратце" пока не видел.
2podkashey спасибо за статью, узнал кое-чего нового. надеюсь на продолжение, хотелось бы увидеть более подроное описание пунктов:
-встроенная в ядро Java-машина, т е можно использовать Java, а можно PL-SQL
-Выполнение команд через ; должно работать, но это не факт
-Null может сработать, только для строкового типа поля. Также в Oracle обязательно писать select null FROM table.
третий не очень понятен из-за двух протеворечивых предложений+) все таки мне кажется (следуя стандартам) null - специальный типа данных, содержащий пустое значение ЛЮБОГО типа. Ещё хотелось бы узнать по-больше о системный таблицах как dual и тд
 
Ответить с цитированием

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

Репутация: 1320


По умолчанию

Цитата:
встроенная в ядро Java-машина, т е можно использовать Java, а можно PL-SQL
Про это лучше почитать в интернете, потому что я не совсем понял, что ты имеешь в виду - пример программы на Java?
При установке Оракла и создании БД под него - указываешь, реализовать ли поддержку Java Или нет. Интересный факт: на Пентиуме 4 Oracle8 глючит при установке его с поддержкой Java. Надо ставить либо пропатченную версию (трудно найти, не всегда помогает), либо еще как-то. Причем причины глюков толком не ясны и много где обсуждаются в инете. Хотя на АМД все нормально.
Цитата:
Выполнение команд через ; должно работать, но это не факт
Работать они должны на 99,9 процентов. Не правильно выразился. Тут аналогично MSSQL... на сколько я MSSQL помню...
Цитата:
Также в Oracle обязательно писать select null FROM table.
select null /* не прокатит, а select null from dual/* прокатит. В отличии от MSSQL, где можно написать Union select null/* при скл-инж и не указывать откуда брать нул.
Цитата:
Null может сработать, только для строкового типа поля.
select id from table1 union select null from dual
выдаст ошибку ORA-1790 (описание ошибок http://nkaram.h1.ru/ora_err/16-17.htm#17 )
Надо писать select id from table1 union select to_number(null) from dual
Исключение составляет, если select tut_strokovoe_pole from table1 union select null from dual.
Могут еще помочь функции to_date и to_char.
Цитата:
Ещё хотелось бы узнать по-больше о системный таблицах как dual и тд
Только сейчас обратил внимание, что забыл вставить небольшой кусок.
select * from user_tables – таблицы схемы текущего пользователя
select user from dual - текущий user
select * from V$session – текущие сессии
select * from user_objects – вся схема текущего пользователя

Последний раз редактировалось podkashey; 28.03.2006 в 00:59..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обнаружение 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