|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
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 То все прокатывает на "Ура". Вопрос: А как собственно с этим бороться? Ведь дырка получается. Сергей Дементьев. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 12:50 |
|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
А если попробовать так: code: Я не пробовал, но по идее, должно сработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 13:44 |
|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
Пардон, чего-то глюконуло... А если попробовать так: _________________ create Mypoc1 as SETUSER USER() exec proc1 __________________ Я не пробовал, но по идее, должно сработать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 13:46 |
|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
Да ведь вопрос то в том, что пользователь благодаря такой дырке получает возможность выполнять процедуры, на выполнение которых у него нет разрешения. Временные процедуры ему ведь не запретьнь делать. А как быть тогда, может SP какой-нибудь поможет? Сергей Дементьев ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 14:10 |
|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
Такого быть не может - слишком большая дырка. Во всяком случае у меня доступ не появляется. По-моему дело в том, что сначала создается временная процедура, а потом ты меняешь юзера через SETUSER. Поскольку временная процедура в момент компиляции имела права на выполнение proc1, то никакой ошибки и не происходит. Если создавать временную процедуру после SETUSER или вообще только под коннектом того юзера - такого не произойдет. Попробуй еще раз и повнимательней. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 14:26 |
|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
Дак вот в том и дело, что происходит.На двух серверах проверял Пользователю запрещено выполнять процедуру 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 драйвер делает то же самое в этом случае. Я понимаю, что дыра большая, но наверно как-то в настройках сервера она убирается? Сергей Дементьев. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 15:14 |
|
Временные ХП и права доступа к объектам
|
|||
---|---|---|---|
#18+
Вот цитата из рассылки '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" Очень рекомендую всем подписаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2001, 17:13 |
|
|
start [/forum/topic.php?fid=46&tid=1827387]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 260ms |
total: | 385ms |
0 / 0 |