小心你的WEB应用程序成为数据窃贼的帮凶(5)

  • A+
所属分类:未分类

 让盲目攻击起作用

假设在示例页面中,我们已经发现了盲目注入,我们希望发现关于表和数据库设计的细节。请看下面的请求:

wangzhan.com/userdetail.asp?username=zhangsan AND ISNULL(ASCII(SUBSTRING((SELECT TOP 1 name FROM sysObjects WHERE xtype=0x55),1,1)),0)>65—

如果我们分解一下,会看出这个查询的结果实际上是一个是或否的回答,“这个表名的第一个字符是一个比65大的ASCII值吗?”先看最里面的查询:

SELECT TOP 1 name from sysObjects WHERE xtype=0x55

这意味着:获取来自sysObjects(所有的表)列表最上面的一个名字,其xtype(对象类型)等于ASCII码0x55(大写的字母“U”),转换成用户(user)表。所以,基本而言,我们获取了用户在数据库中所创建的第一个表。为简单起见,假设这个表就是“users”:

SUBSTRING(users),1,1

现在,我们创建了一个子串,它包含了表名users的首个字符。其值为“u”:

ISNULL(ASCII(u),0)>65

在这里我们查看u的ASCII码值的结果是否大于65,确认表名以字母开头。如果答案是肯定的,查询就会被处理。否则,查询就不会被处理。

使用这种方法,我们可以对每个查询简单地增加数字,从而发现首个用户名的第一个字母。例如,假设我们在大于117时(>117)得到了一个否定的响应,我们知道第一个字母是字母“u”,因为“u”的ASCII值是117。在发现这一点之后,我们可以简单地改变SUBSTRING参数来选择第二个字母,然后是第三个字母,等等。

最后,在没有错误代码时,我们借助于盲目注入就可以发现有漏洞的Web应用程序的数据库的完整的表结构。

 

本文出自:亿恩科技【www.enkj.com】

河南亿恩科技股份有限公司(www.enkj.com)始创于2000年,专注服务器托管19年,是国家工信部认定的综合电信服务运营商。亿恩为近五十万的用户提供服务器托管、服务器租用、机柜租用、云服务器、网站建设等网络基础服务,另有网总管、名片侠网络推广服务,使得客户不断的获得更大的收益。 服务热线:400-723-6868 服务器/云主机 24小时售后服务电话:0371-60135900 虚拟主机/智能建站 24小时售后服务电话:0371-55621053
广告也精彩
avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: