xp_cmdshell的删除与恢复

查询xp_cmdshell
SELECT COUNT(*) AS Expr1 FROM sysobjects WHERE (xtype = 'x') AND (1 = (SELECT COUNT(*) FROM master.dbo.sysobjects WHERE xtype = 'X' AND name = 'xp_cmdshell'))
返回1就存在


方法1、
用以下方法删除
Use Master
Exec sp_dropextendedproc N'xp_cmdshell'
Go

用以下语句恢复
Use Master
Exec sp_addextendedproc N'xp_cmdshell', N'xplog70.dll'
Go

如果xplog70.dll被删除,则恢复会失败
exec master.dbo.sp_addextendedproc 'xp_cmdshell','c:\inetput\web\xplog70.dll';


方法2、
用以下方法删除
drop procedure sp_addextendedproc
drop procedure sp_oacreate
exec sp_dropextendedproc 'xp_cmdshell'

用以下语句恢复
dbcc addextendedproc ("sp_oacreate","odsole70.dll")
dbcc addextendedproc ("xp_cmdshell","xplog70.dll")
这样可以直接恢复

posted on 2009-07-11 10:44  猎风  阅读(163)  评论(0编辑  收藏  举报