Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Какие существуют уязвимости, связанные с наличием хранимых процедур? Пробую сейчас дать пользователям права в основном на выполнение процедур без доступа к таблицам. Т.е. все делать через ф-ии с параметром SECURITY DEFINER. В функции производятся различные UPDATE, INSERT и SELECT, а пользователю даю права на исполнение этих процедур. Правильный ли это подход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 19:49 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
имхо, делать все только через функции это несколько утопично ) вполне можно реализовать разграничение доступа через вьюхи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2007, 19:59 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
st_sergимхо, делать все только через функции это несколько утопично ) вполне можно реализовать разграничение доступа через вьюхи. Я не совсем понимаю, чем отличается доступ к таблице через вьюху, которая имеет такиеже поля как в таблице от простого доступа с правами SELECT на саму таблицу? Когда скрывают столбцы или объединяют таблицы, то тут конечно понятно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 05:54 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Сервер приложений? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 08:10 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
postuserКогда скрывают столбцы или объединяют таблицы, то тут конечно понятно... а говорите не понимаете :) через вьюхи можно скрывать не только только столбцы, но и строки, с вьюхами планировщик может отработать лучше, лечге готовить тестовые данные, можно поменять внутреннюю структуру таблицы не трогая приложение (хотя последние два пункта в хранимках делать тож не трудно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 09:57 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
postuserКакие существуют уязвимости, связанные с наличием хранимых процедур? Пробую сейчас дать пользователям права в основном на выполнение процедур без доступа к таблицам. Т.е. все делать через ф-ии с параметром SECURITY DEFINER. В функции производятся различные UPDATE, INSERT и SELECT, а пользователю даю права на исполнение этих процедур. Правильный ли это подход? немного не про БД, а из клиент-серверной теории. сервер может работать в различных политиках безопасности... 1) максимальная... сервак работает от имени ядра. Требования к коду - повышенные. 2) минимальная... сервак работает от имени пользователя установившего коннект. Требования к настройки политики коннектов - возрастает. 3) средняя...когда сервак работает на коррекшенне от имени учётной записи созданной под него. как правило третий вариант позволяет выбирать гибкость второго и избегать ненужных максимальных прав. не слово, в слвоо - но мысль постарался передать... "Программирование под Netware 386" - кажись оттуда... с уважением (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 13:45 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
postuserКакие существуют уязвимости, связанные с наличием хранимых процедур? Пробую сейчас дать пользователям права в основном на выполнение процедур без доступа к таблицам. Т.е. все делать через ф-ии с параметром SECURITY DEFINER. В функции производятся различные UPDATE, INSERT и SELECT, а пользователю даю права на исполнение этих процедур. Правильный ли это подход? Ну... по идее может быть банальный SQL Injection, если EXECUTE используеться. Я правда что-то не видел описания таких проблемм.... Может кто чего скажет о такой потенциальной проблемме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 16:44 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Jelis postuserКакие существуют уязвимости, связанные с наличием хранимых процедур? Пробую сейчас дать пользователям права в основном на выполнение процедур без доступа к таблицам. Т.е. все делать через ф-ии с параметром SECURITY DEFINER. В функции производятся различные UPDATE, INSERT и SELECT, а пользователю даю права на исполнение этих процедур. Правильный ли это подход? Ну... по идее может быть банальный SQL Injection, если EXECUTE используеться. Я правда что-то не видел описания таких проблемм.... Может кто чего скажет о такой потенциальной проблемме? А чего? Потенциально - вполне может быть. Как завещал Том Кайт - используйте параметрические запросы, благо в Постгресе есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 17:11 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Вообщем... про SQL Injection Быстрый эксперемент мной проведенный показал, что вполне возможно! Опишу чего я делал... Табличка со странами Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Создаем вот такую (хотя и не совсем) простую функцию для работы с этой табличкой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. А теперь "ломаем" нашу функцию Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Тут конечно есть много моментов без которых injection невозможет, главный из которых, это, конечно execute. RETURN SETOF RECORD в функции я сделал с мыслю что можно будет получить данные вообще из другой таблицы. Но в EXECUTE может быть только один запрос, и тупо добавить '; SELECT * FROM Passwords ' не возможно... к щастью :-) Но, думаю, есть еще много моментов, который можно "поломать". Вывод: если на функции возлагаються какието ожидания по безопасности то незабывайте проверять входящие параметры!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2007, 17:53 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Частично решил эту проблему с числовыми параметрами, типизируя их. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 10:45 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 11:14 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
postuserЧастично решил эту проблему с числовыми параметрами, типизируя их. Код: plaintext А вы что, ваши "безопасные" ХП еще и на С пишете??? 8-0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 19:57 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Jelis postuserЧастично решил эту проблему с числовыми параметрами, типизируя их. Код: plaintext А вы что, ваши "безопасные" ХП еще и на С пишете??? 8-0 Нет :). Но функции будут вызываться через cgi-программу на Си, вот в этой cgi-проге и используется Си. Можно было конечно понятнее пример привести (с функцией) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 21:22 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
postuser Jelis postuserЧастично решил эту проблему с числовыми параметрами, типизируя их. Код: plaintext А вы что, ваши "безопасные" ХП еще и на С пишете??? 8-0 Нет :). Но функции будут вызываться через cgi-программу на Си, вот в этой cgi-проге и используется Си. Можно было конечно понятнее пример привести (с функцией) Код: plaintext Ааа... ну это уже тогда другой разговор (про С) :-) Просто, имхо, если пишем что-то рассчитанное на безопасность, то надо предпологать, что пользователь может просто подключиться напрямую, с помощью, допустим psql, и делать все что его подленькой (в этом случае) душенке угодно :-) В пределах, данных ему прав, конечно. Т.е. cgi у нас и будет "пользователем". Это я конечно не к тому, что на клиенте не надо заботиться о безопасности, а к тому, что если у вас ХП - security definer, то и стоить обратить пристальное внимание на них (ХП)! И проверят именно в хранимках, чего они получают от клиента ( в общем случае хотя бы quote_literal делать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2007, 22:10 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
Не совсем понял, от чего спасает Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 19:22 |
|
||
|
Уязвимости, связанные с хранимыми процедурами
|
|||
|---|---|---|---|
|
#18+
postuser Код: plaintext ну можно так вызвать Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2007, 20:03 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=304&tid=2005736]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 328ms |

| 0 / 0 |
