Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные ХП и права доступа к объектам / 7 сообщений из 7, страница 1 из 1
07.02.2001, 12:50
    #32002045
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
MS SQL Server 7.0+SP2
Заметил, что из временных ХП пользователю разрешается выполнять серверные ХП в независимости от его прав доступа на эти ХП.Например

Create proc proc1 as select * from table a
DENY EXECUTE ON poc1 TO [user0]

если пользователь user0 в сеансе попытается выполнить:
exec proc1
получит permission denied,

А если так,
create #Mypoc as exec proc1
exec #Mypoc
То все прокатывает на "Ура".

Вопрос:
А как собственно с этим бороться?
Ведь дырка получается.
Сергей Дементьев.
...
Рейтинг: 0 / 0
07.02.2001, 13:44
    #32002046
AnKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
А если попробовать так:

code:

Я не пробовал, но по идее, должно сработать.
...
Рейтинг: 0 / 0
07.02.2001, 13:46
    #32002047
AnKa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
Пардон, чего-то глюконуло...
А если попробовать так:
_________________
create Mypoc1
as
SETUSER USER()
exec proc1
__________________

Я не пробовал, но по идее, должно сработать.
...
Рейтинг: 0 / 0
07.02.2001, 14:10
    #32002048
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
Да ведь вопрос то в том, что пользователь благодаря такой дырке получает возможность выполнять процедуры, на выполнение которых у него нет разрешения. Временные процедуры ему ведь не запретьнь делать. А как быть тогда, может SP какой-нибудь поможет?
Сергей Дементьев
...
Рейтинг: 0 / 0
07.02.2001, 14:26
    #32002049
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
Такого быть не может - слишком большая дырка. Во всяком случае у меня доступ не появляется.

По-моему дело в том, что сначала создается временная процедура, а потом ты меняешь юзера через SETUSER. Поскольку временная процедура в момент компиляции имела права на выполнение proc1, то никакой ошибки и не происходит. Если создавать временную процедуру после SETUSER или вообще только под коннектом того юзера - такого не произойдет. Попробуй еще раз и повнимательней.
...
Рейтинг: 0 / 0
07.02.2001, 15:14
    #32002051
Sergey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
Дак вот в том и дело, что происходит.На двух серверах проверял
Пользователю запрещено выполнять процедуру select_rep_date_nomer
вот код:
exec select_rep_date_nomer 21,'2001-02-01','2001-02-02',12345
go
Ответ:
Server: Msg 229, Level 14, State 5, Procedure select_rep_date_nomer, Line 1
EXECUTE permission denied on object 'select_rep_date_nomer', database 'Uchet', owner 'dbo'.

А такой код проходит
create procedure #temp as exec select_rep_date_nomer 21,'2000-02-01','2001-02-02',12345
go
exec #temp
drop procedure #temp
go

Невероятно,но правда.
А еще если работать через ODBC и использовать драйвер 2.и.т.д, то поставив галочку Generate Stored Procedures for Prepare Statement (так по-моему называется), то открываешь доступ ко всем процедурам, любому пользователю, который выполняет запрсы, приготовленные через SQLPrepare, потому что ODBC драйвер делает то же самое в этом случае.
Я понимаю, что дыра большая, но наверно как-то в настройках сервера она убирается?
Сергей Дементьев.
...
Рейтинг: 0 / 0
07.02.2001, 17:13
    #32002054
Павел
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Временные ХП и права доступа к объектам
Вот цитата из рассылки 'MSSQL - дело тонкое' с сервера http://subscribe.ru от 20/07/00:

"Microsoft выпустил заплату для обнаруженной недавно уязвимости
хранимых процедур SQL 7.0.
Согласно бюллетеню Microsoft (Q266766), в SQL 7.0 заданные
ограничения на права доступа к хранимым процедурам могут быть
обойдены при вызове хранимой процедуры из временной хранимой
процедуры.
Отсутствие проверки прав доступа могло позволить
несанкционированно выполнять хранимые процедуры, которые
обычному пользователю не доступны. Уязвимость существует,
когда база данных и хранимая процедура принадлежат системному
администратору (sa), а пользователь, осуществляющий вторжение,
способен пройти аутентификацию и получить доступ к базе данных.
Intel: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=22470
Alpha: http://www.microsoft.com/Downloads/Release.asp?ReleaseID=22469"

Очень рекомендую всем подписаться.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные ХП и права доступа к объектам / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]