27-SQLServer系统扩展存储过程
一、注意点
1、在SQLServer中,有些系统扩展存储过程,是有风险,需要取消public角色的执行权限。
2、从SQLServer2005开始就不能通过sp_dropextendedproc 删除系统扩展存储过程。
3、系统扩展存储过程是不能被删掉的,也没办法禁用(sysadmin角色的用户肯定拥有执行的权限),所以如果有公司基线要求,我们要做的是拒绝public角色拥有这些扩展存储过程的执行权限。
4、一些高风险的存储过程如下:
xp_cmdshell:以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行的形式返回所有输出;
xp_readerrorlog:读取SQLServer的错误日志;
xp_snmp_getstate:获取snmp状态信息;
xp_sprintf:格式化数据;
xp_sqlinventory:查询SQLServer清单;
xp_sqlregister:对注册表的读取和编辑;
xp_sqltrace:SQL跟踪记录;
xp_servicecontrol:服务管理控制,该存储过程允许用户启动、停止、暂停或运行服务;
xp_sscanf:从字符串中读取数据数据到每个格式参数给出的参数位置;
xp_availablemedia:该存储过程可以查看系统上可用的磁盘驱动器的空间信息;
xp_subdirs:通过xp_dirtree,xp_subdirs将在一个给定的文件夹中显示所有子文件夹;
二、操作步骤
1.查看这个扩展的存储过程对象
命令:
select name,id from sysobjects where name in ('xp_cmdshell','xp_readerrorlog','xp_snmp_getstate','xp_sprintf',
'xp_sqlinventory','xp_sqlregister','xp_sqltrace','xp_servicecontrol','xp_sscanf','xp_availablemedia','xp_subdirs')

2.查看主体public的权限
命令:
select * from sys.database_permissions where grantee_principal_id = DATABASE_PRINCIPAL_ID('public')

3.查看一些public角色是否拥有一些指定的扩展存储过程的执行权限
注:查询扩展存储过程是否符合基线的最终SQL
命令:
select name from sysobjects where id in(
select major_id from sys.database_permissions where grantee_principal_id = DATABASE_PRINCIPAL_ID('public')
and permission_name = 'EXECUTE' and state_desc!='DENY'
and major_id in (
select id from sysobjects where name in ('xp_cmdshell','xp_readerrorlog','xp_snmp_getstate','xp_sprintf',
'xp_sqlinventory','xp_sqlregister','xp_sqltrace','xp_servicecontrol','xp_sscanf','xp_availablemedia','xp_subdirs')
)
)


修改基线方式:直接在图形化界面,把执行的权限去掉就行
27-SQLServer系统扩展存储过程的更多相关文章
- SQL Server 禁用扩展存储过程
概述 扩展存储过程是 SQL Server 实例可以动态加载和运行的 DLL.扩展存储过程是使用 SQL Server 扩展存储过程 API 编写的,可直接在 SQL Server 实例的地址空间中运 ...
- JSON序列化及利用SqlServer系统存储过程sp_send_dbmail发送邮件(一)
JSON序列化 http://www.cnblogs.com/yubaolee/p/json_serialize.html 利用SqlServer系统存储过程sp_send_dbmail发送邮件(一) ...
- sqlserver 只有函数和扩展存储过程才能从函数内部执行
一个SQLServer的自定义函数中调用一个自定义的存储过程,执行此函数后发出如下提示:“只有函数和扩展存储过程才能从函数内部执行". 原因:函数只能使用简单的sql语句,逻辑控制语句,复杂 ...
- SqlServer扩展存储过程
1. 扩展存储过程xp_cmdshell用法: --1.启用 SP_CONFIGURE RECONFIGURE GO SP_CONFIGURE RECONFIGURE GO --2.用法 master ...
- SQLSERVER系统视图,系统表,sys.sql_modules视图
SQLServer中提供了相当丰富的系统视图,能够从宏观到微观,从静态到动态反应数据库对象的存储结果.系统性能.系统等待事件等等.同时 也保留了与早期版本兼容性的视图,主要差别在于SQLServer2 ...
- SQLSERVER系统视图 sql server系统表详细说明
参考 https://www.cnblogs.com/luluping/archive/2012/11/05/2754639.html https://www.cnblogs.com/litubin/ ...
- SQLServer系统视图sysobjects中type字段说明
SQLServer中系统视图sysobjects中type字段的对象类型: AF = 聚合函数 (CLR) C = CHECK 约束 D = DEFAULT(约束或独立) F = FOREIGN KE ...
- sql server 常用的扩展存储过程
sql server 里面提供了丰富的系统存储过程来辅助我们管理数据库以及开发.今天分享介绍一些常用的数据库扩展存储过程 xp_cmdshell 这个大家都比较熟悉了,使用xp_cmdshell 可以 ...
- SQL Server里一些未公开的扩展存储过程
SQL Server里一些未公开的扩展存储过程 [转帖] 博客天地 www.inbaidu.com SQL Server里一些未公开的扩展存储过程 扩展存储过程(xp)是直接运行在SQL Server ...
随机推荐
- WebRoot/WEBINF下的classes文件内无法生成编译文件,classes下没有文件,eclipse无法编译项目
其实主要问题还是一个eclipse配置的问题. 如下图.将这一项的勾取消掉. 转自:https://blog.csdn.net/qq_36443497/article/details/79684231
- leetCode:reverseInteger 反向整数 【JAVA实现】
反向整数 给定一个 32 位有符号整数,将整数中的数字进行反转,如果超出整数的最大或者最小范围返回0 更多文章查看个人博客 个人博客地址:反向整数 方法一 利用StringBuilder的revers ...
- java--demo之猜拳游戏
版本1:人机大战 基础随机出 用户键盘录入 package com.hainiu.demo; import java.util.Scanner; /* * 人机大战石头剪刀布 */ publi ...
- windows安装memcache并为php添加memcache扩展
第一步:安装包下载 1.4.5 版本之前用作为一个服务安装,1.4.5 版本之后用任务计划中启用一个普通进程来使用 具体内容如以下链接:http://www.runoob.com/memcached/ ...
- PHP生成有背景的二维码图片
Hart QR Code 快速生产带背景的二维码,他为你提供了以下功能 生产原始二维码,可配置url或则text,以及二维码大小 生产带背景带二维码,背景大小是你传入带背景大小,可配置原始二维码大小, ...
- 利用Python进行数据分析_Pandas_汇总和计算描述统计
申明:本系列文章是自己在学习<利用Python进行数据分析>这本书的过程中,为了方便后期自己巩固知识而整理. In [1]: import numpy as np In [2]: impo ...
- Python【Network/XHR/json】
##################################################################### 制定一个目标(爬取周杰伦的歌曲清单): 根据目标,确认一个方 ...
- Django之ORM相关操作
一般操作 常用的13个操作 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(** ...
- 数据结构——java实现栈
栈 定义: 栈是一种先进后出的数据结构,我们把允许插入和删除的一端称为栈顶,另一端称为栈底,不含任何元素的栈称为空栈 栈的java代码实现: 基于数组: import org.junit.jupite ...
- IOS+H5页面自定义按钮无效
在IOS整合H5页面的时候,自定义的按钮失去效果,Android系统可以. 如图,确定和取消按钮在IOS系统无效. 解决办法是在两个按钮上加上一个style属性即可 <span class=&q ...