mssql sqlserver xp_cmdshell系统存储过程的开启和关闭方法分享


摘要:
下文将讲述在sql server 2008 r2数据库中开启 xp_cmdshell系统存储过程的方法。
—————————————————–
xp_cmdshell:函数的功能是用户可以直接在sql脚本中向DB服务器输入操作系统相关命令,此系统存储过程需要谨慎开启,
此存储过程,常常成为黑客攻击服务器的一种方式。



由于xp_cmdshell拥有让db管理员向db操作系统发送命令的功能,所以通常我们在DB审计时,建议删除此系统存储过程,
删除此存储过程,不会对DB数据库产生任何影响。

例:

   use master 
exec sp_dropextendedproc N'xp_cmdshell'  
----删除系统存储过程 xp_cmdshell为系统存储过程名称 
Go 
 
use master 
 go
exec sp_addextendedproc N'xp_cmdshell','xplog70.dll'  
----添加系统存储过程 xp_cmdshellt为系统存储过程名称 
Go 
 

运行 xp_cmdshell命令,获取服务器相关信息

  ----开启xp_cmdshell权限
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE; 
go

exec xp_cmdshell 'dir d:\' 
---打印出指定盘符下面的所有信息
go

----关闭xp_cmdshell权限
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0;
RECONFIGURE; 
go
 
mssql_sqlServer_xpcmdshell命令简介

mssql_sqlServer_xpcmdshell命令简介