powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные ХП и права доступа к объектам
7 сообщений из 7, страница 1 из 1
Временные ХП и права доступа к объектам
    #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
Временные ХП и права доступа к объектам
    #32002046
AnKa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если попробовать так:

code:

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

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

По-моему дело в том, что сначала создается временная процедура, а потом ты меняешь юзера через SETUSER. Поскольку временная процедура в момент компиляции имела права на выполнение proc1, то никакой ошибки и не происходит. Если создавать временную процедуру после SETUSER или вообще только под коннектом того юзера - такого не произойдет. Попробуй еще раз и повнимательней.
...
Рейтинг: 0 / 0
Временные ХП и права доступа к объектам
    #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
Временные ХП и права доступа к объектам
    #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
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Временные ХП и права доступа к объектам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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