Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

26.05.2007, 18:04
|
|
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме: 3372120
Репутация:
2565
|
|
ЗЫ Не обижайся, но только что ты кажется сел в лужу и то, что ты написал много слов про драйвера, средства разработки, интерфейсы никак не помогут обычному читателю, поэтому я стараюсь избегать таких слов. Хотя можно конечно во всяких нотациях расписать все комманды скуля и сказать думайте сами.
Это я писал не для обычного читателя а для тебя, надеясь что более полное объяснение с привидением примеров, в качестве док-ва, поможет тебе разобраться! Видимо не помогло, не вижу смысла дальше пытаться тебя переубедить  А с твоей стороны кроме пустой болтовни и необоснованных утверждений я ничего так и не услышал. Я готов с радостью признавать свои ошибки и исправляться, но для етого должно быть четкое обоснование своих утверждений!
ЗЫ
Я же не виноват, что твою статью перенесли в болталку, не надо на мне срывать свое недовольство. Вместо пустых приперательств, выложи свою версию статьи и посмотрим что скажет народ!
|
|
|

27.05.2007, 02:32
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2005
Сообщений: 1,004
Провел на форуме: 2821162
Репутация:
1320
|
|
Хорошо, назови пункты по которым ты со мной не согласен кроме точки с запятой и само собой вытекающего отсюда создания юзера.
Позже приведу тебе пример скули, где проходит ;
А с твоей стороны кроме пустой болтовни и необоснованных утверждений я ничего так и не услышал. Я готов с радостью признавать свои ошибки и исправляться, но для етого должно быть четкое обоснование своих утверждений!
Можешь расставить плюсики и минусики напротив моих утверждений с обоснованием:
1. rownum как минимум равноценен limit, но вообще удобнее, так как можно вывести строки например через одну.
2. комментариев "--" не достаточно при скулях в оракле и в большинстве случаев надо использвать другие из-за многострочных запросов.
3. точка с запятой в некоторых случаях поддерживается, а в некоторых нет.
Это основные пункты, по остальным не интересно спорить, так как они не принципиальны, малозначимы или вытекают из этих.
|
|
|

27.05.2007, 02:56
|
|
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме: 3372120
Репутация:
2565
|
|
Честно говоря особо спорить здесь не почему, только личное мнение что где-то одно лучше, а где-то другое
1. rownum как минимум равноценен limit, но вообще удобнее, так как можно вывести строки например через одну.
Собственно для проведения скулей одинаково удобны, имхо не понадобится выведение строк через одну
2. комментариев "--" не достаточно при скулях в оракле и в большинстве случаев надо использвать другие из-за многострочных запросов.
Как показал мой прошлый пример и вообще если использовать union, то необходимо комментить только запрос в котором скуля, до остальных пофиг. Но опять имхо таких скулей больше  Да и вообще по этому моменту спорить нет смысла, я согласен етсть другие коменты про них тоже надо написать.
3. точка с запятой в некоторых случаях поддерживается, а в некоторых нет.
То есть ты согласен, что хотя бы в некоторых нет. Так что не надо было утверждать что поддерживается всегда. Но вообще с твоим перефразированным утверждением я согласен. При чем могу все таки предположить, что скорее всего возможно разделение запросов именно в процедурах PL/SQL и если уязвимость действительно в процедуре, то может быть возможно воспользоваться ;. Но могу поспорить, что именно в SQL запросах Oracle нет возможности использования ; обоснование данного утвержедния я отписывал выше. Имхо надо различать SQL и PL/SQL, и по инъекциям в процедуры в PL/SQL мона писать отдельную статью и как раз там описать возможность добавления пользователей и тд
ЗЫ
Не вижу смысла спорить дальше, у всех свои методы проведения инъекций, мои мне всегда помагали и я о них написал. На полный мануал я не претендую. Внес дополнения и изменения в связи с последнимими замечаниями и предложениями!
ЗЗЫ
С удовольствием посмотрю пример с использованием разделителя ; и добавлением пользователя 
Последний раз редактировалось [53x]Shadow; 27.05.2007 в 20:34..
|
|
|

28.05.2007, 00:33
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2005
Сообщений: 1,004
Провел на форуме: 2821162
Репутация:
1320
|
|
Как показал мой прошлый пример и вообще если использовать union, то необходимо комментить только запрос в котором скуля
Запрос может быть в несколько строк.
если уязвимость действительно в процедуре
Это бред  Уязвимость в создании процедры чтоле?  А если в функции, то она вызывается, как и внутренняя функция. Процедура вызывается через бегин-енд, то есть в пл/скл, то есть там точно поддерживается ;.
По поводу использования скл или пл скл. ИМХО на нормальных сайтах используется пл/скл, чтобы проводить единые транзакции. То есть вместо обычного запроса используется begin select ... end; то есть ; в инъекции применима. Вобщем все выяснили. С меня скуля с ; а с тебя пиво, если я ее предоставляю. Договорились  ))
|
|
|

28.05.2007, 00:53
|
|
Leaders of Antichat
Регистрация: 25.01.2007
Сообщений: 341
Провел на форуме: 3372120
Репутация:
2565
|
|
Это бред Уязвимость в создании процедры чтоле? А если в функции, то она вызывается, как и внутренняя функция. Процедура вызывается через бегин-енд, то есть в пл/скл, то есть там точно поддерживается ;.
Имелось ввиду - уязвим параметр вставляемый в какой-то запрос в хранимой процедуре, соответственно на этапе выполнения процедуры, мы можем через уязвимый параметр сделать инъекцию в процедуру, а так как там поддерживается ; (я знаю что там как раз это поддерживается  ) мы можем использовать разделение на несколько запросов и вставить свой.
то есть ; в инъекции применима.
Да, но только в Pl/sql.
С меня скуля с ; а с тебя пиво, если я ее предоставляю. Договорились
Договорились, адназначна 
|
|
|

29.05.2007, 14:32
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
Прочитал статью много не противоречий, в целом написанна грамотно.
1. rownum как минимум равноценен limit, но вообще удобнее, так как можно вывести строки например через одну.
2. комментариев "--" не достаточно при скулях в оракле и в большинстве случаев надо использвать другие из-за многострочных запросов.
3. точка с запятой в некоторых случаях поддерживается, а в некоторых нет.
1) rownum не когда не был аналогом лимит, согласен они похожи но сравнивать их нереально.
2) иногда их не надо исползывать вообще, коментарии используються для отброса дальнейшего запроса, и их всегда достаточно другое дело если используються сложные функции
то ее можно просто закрыть или привети к нулевому значению. И какая разница сколько строк занимает скуль часто встречал очень длинный запрос со сравниванием сортировкой и так далее и в конце where=$a.
3); может не работать только из-за неправильно или умышленно построенной реализацей кода так, как в большинстве СуБД Строки запросов разделяються именно так, посмотрим банальный пример дампа.
|
|
|

29.05.2007, 16:55
|
|
Участник форума
Регистрация: 22.05.2006
Сообщений: 232
Провел на форуме: 561037
Репутация:
73
|
|
прочитал и статью и далее следующий мега батл великих умов  . Интрересно всё же узнать правильный ответ, можно ли коректно юзать";"? Сам пробовал на 2х сайтах, результат - ORA-00911: invalid character. Хотя большая вероятность, что просто не верно составлял запрос  . Кста афтору +1
|
|
|

29.05.2007, 17:24
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
В снитаксисе Orale Запросы разделяються ; другой вопрос можно ли применять их в иньекциях. В MySQL запросы тоже разделяються ; но в иньекциях их нельзя применять, а оркл же иногда позваляет их применять.
|
|
|

29.05.2007, 19:01
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2005
Сообщений: 1,004
Провел на форуме: 2821162
Репутация:
1320
|
|
[ cash ], тоже пива хочешь?
[53x]Shadow, думаю ты не против, если мы с [ cash ] пивка попьем?
1) rownum не когда не был аналогом лимит, согласен они похожи но сравнивать их нереально.
Приведи примеры того, что можно сделать лимитом и нельзя rownum. Пример в пользу rownum я уже привел.
очень длинный запрос со сравниванием сортировкой и так далее и в конце where=$a.
гыгыгыы.... Пример в студию. Само собой сортировка должна быть не в подзапросе и не в одном из запросов, объединенных юнионом.... Хотя я не против, если ты тоже мне пивка поставишь вместо того чтобы признать ошибку....  ))
уязвим параметр вставляемый в какой-то запрос в хранимой процедуре, соответственно на этапе выполнения процедуры, мы можем через уязвимый параметр сделать инъекцию в процедуру
Ты имеешь в виду например select my_func($a) from dual; и вместо $a подставить строку с инъекцией?
Ну это уже перебор. На уровне того, если в паскале например мы создадим процедуру и туда вместо параметра подставим "15; exit" например. Вобщем само собой такого в оракле не будет. Если я конечно тебя правильно понял.
|
|
|

29.05.2007, 19:13
|
|
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме: 3887520
Репутация:
2996
|
|
podkashey
Мб, я нареоман но в оралкле есть лимит?
Да их милионы. или ты имеешь ввиду иньекцию.
SELECT *
FROM
(SELECT ROWNUM rownum2, inline_view1.*
FROM
(SELECT ROWNUM rownum1, ename, hiredate
FROM emp
ORDER BY hiredate
) inline_view1
) inline_view2
WHERE $row
Последний раз редактировалось [ cash ]; 29.05.2007 в 19:20..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|