国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

減少xp_sendmail安全漏洞

2024-07-21 02:12:45
字體:
來源:轉載
供稿:網友

的用戶有權限通過sql mail使用sql server的文件嗎?sql mail和 sql代理帳號一樣運行在相同安全條件下。默認情況下,sql代理運行在本地系統帳號下。如果用戶能存取sql server數據庫里的系統擴展存儲過程xp_sendmail,那么就會有安全漏洞了。

 
通過給系統擴展存儲過程xp_sendmail附加參數,用戶就可以獲得存取服務器上的文件的權限。通過一個方法你就可以保護xp_sendmail:把它封裝倒一個存儲過程中去,使附加參數非public。許可受這個存儲過程的保護,把許可從xp_sendmail中取消。

下面基本的工作模板,你用它就可以保護xp_sendmail:

use master
go
-- =============================================
-- create procedure basic template
-- =============================================
-- creating the store procedure
if exists (select name
         from     sysobjects
         where    name = n'sp_sendmail'
         and      type = 'p')
    drop procedure sp_sendmail
go

create procedure sp_sendmail
     @in_recipients varchar(8000) = '<default email address>'
    ,@in_message varchar(8000)= 'test'
    ,@in_query varchar(8000)= ''
    ,@in_copy_recipients varchar(8000)= null
    ,@in_blind_copy_recipients varchar(8000)= null
    ,@in_subject varchar(80)= 'test'
    ,@in_type varchar(80)= null
    ,@in_attach_results varchar(80)= null
    ,@in_no_output varchar(8)= null
    ,@in_no_header varchar(8)= null
    ,@in_width int = 10
    ,@in_separator varchar(8)= null
    ,@in_echo_error varchar(8000)= null
    ,@in_set_user varchar(256) = null
    ,@in_dbuse varchar(256) = null
as

declare @attachments varchar(8000)

set @in_recipients = '<default dba email address>;' + @in_recipients
exec master..xp_sendmail
     @recipients = @in_recipients
    ,@message = @in_message
    ,@query = @in_query
    ,@attachments =  ' '
    ,@copy_recipients = @in_copy_recipients
    ,@blind_copy_recipients = @in_blind_copy_recipients
    ,@subject = @in_subject
    ,@type = @in_type
    ,@attach_results = @in_attach_results
    ,@no_output = @in_no_output
    ,@no_header = @in_no_header
    ,@width = @in_width
    ,@separator = @in_separator
    ,@echo_error = @in_echo_error
    ,@set_user = @in_set_user
    ,@dbuse = @in_dbuse
go


-- example to execute the store procedure

execute sp_sendmail
go


-- example to grant permissions to the store procedure

grant execute on sp_sendmail to public
go
revoke execute on xp_sendmail to public
go



收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久治县| 汨罗市| 四川省| 磐石市| 吕梁市| 襄汾县| 庆阳市| 常州市| 香格里拉县| 洛宁县| 徐水县| 丰顺县| 门头沟区| 清远市| 浦东新区| 西乌珠穆沁旗| 玉门市| 苍梧县| 邹平县| 临泉县| 南昌县| 岳西县| 平原县| 商都县| 灵山县| 墨玉县| 汕头市| 虞城县| 清流县| 新民市| 鄢陵县| 繁昌县| 南昌市| 安远县| 葫芦岛市| 黎川县| 彭山县| 平凉市| 白城市| 鸡泽县| 白山市|