始创于2000年 股票代码:831685
咨询热线:0371-60135900 注册有礼 登录
  • 挂牌上市企业
  • 60秒人工响应
  • 99.99%连通率
  • 7*24h人工
  • 故障100倍补偿
您的位置: 网站首页 > 帮助中心>文章内容

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

发布时间:  2012/6/11 19:27:24
 攻击者寻找突破口

首先,攻击者可能查看应用程序是否能够正确地处理错误条件。有许多方法可以检查SQL错误消息,每一个方法都依赖于数据库自身。最常见的例子是“‘”( 撇号)。攻击者可能会尝试插入“‘”而不是一个合法的用户名:

Wangzhan.com/userdetail.asp?username=‘

如果出现错误,攻击者就可以了解一些信息。例如,下面的错误就会使攻击者知道这是一个MySQL数据库,而且表明数据库将“‘”解释为查询的一部分,从而揭示出这可能是一个SQL注入点,值得进一步调查。

错误:您的SQL语法有一个错误,请检查您的MySQL亿恩科技服务器版本对应的手册,查看正确的语法…在第4行

在此例中,我们使用了一个“‘”,但任何“保留”字符,即在测试数据库错误时可以使用的为特别目的而保留的一个字符。保留字符对每种数据库类型来说都是独一无二的。

借助上面显示的MySQL错误消息,我们可以看出黑客是多么聪明,而且能够发现应用程序正在访问的数据库表的其它细节。请看:

Wangzhan.com/userdetail.asp?username=Zhangsan order by 1

如果我们没有收到错误,就可以知道用户名要么是SQL WHERE语句中的最后一个变量(允许我们从一个数据库表中重新获取数据,同时又排除其它的无关数据),或者是WHERE语句中的唯一变量。我们可以让数字每次增加1,直至收到一个错误。例如,可能在到达“Zhangsan order by 9”,就可以看到:

错误:用户警告:“order clause”查询中有无法确认的列:SELECT

现在可以确认,直至提交了“9”,我们才收到了错误消息,所以可以断定表中有8列。这个信息很有用,但我们只是想获得尽量多的数据。假设没有提供输入验证,通过在用户名的位置使用一个通配符,我们实际上可以返回所有用户的细节:

Wangzhan.com/userdetail.asp?username=%

在该例中,我们将执行下面的查询,返回所有用户的细节:

SELECT uname,fname,lname,phone,street,city,state,zip FROM users WHERE user = %

如果攻击使用此伎俩,势必会造成数据损害,使大量的有价值的客户信息处于风险之中。其中可能包括应当被加密的用户口令,当然攻击者可以在日后再进行破解。遭到泄露的客户信息还有可能包括电子邮件地址,攻击者可以将其用于钓鱼攻击。

其实,我们可以不用插入简单的通配符,而是终止查询,并让查询做一些查询之外的事情:

Wangzhan.com/userdetail.asp?username=zhangsan;DROP users—

为便于比较,我们将SQL Server的数据库语句列示如下:

SELECT uname,fname,lname,phone,street,city,state,zip FROM users WHERE user = ‘zhangsan’;DROP users—

还要注意,此例允许你在同一行上提交多个查询(在此例中,即SELECT和DROP查询)。其方法就是用分号(;)分开并用两个破折号结束。因而,在完成最初的查询后,攻击者就可以发送并运行自己选择的一个完整查询。

 

 

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

服务器租用/服务器托管中国五强!虚拟主机域名注册顶级提供商!15年品质保障!--亿恩科技[ENKJ.COM]

  • 您可能在找
  • 亿恩北京公司:
  • 经营性ICP/ISP证:京B2-20150015
  • 亿恩郑州公司:
  • 经营性ICP/ISP/IDC证:豫B1.B2-20060070
  • 亿恩南昌公司:
  • 经营性ICP/ISP证:赣B2-20080012
  • 服务器/云主机 24小时售后服务电话:0371-60135900
  • 虚拟主机/智能建站 24小时售后服务电话:0371-60135900
  • 专注服务器托管17年
    扫扫关注-微信公众号
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 亿恩科技 版权所有  地址:郑州市高新区翠竹街1号总部企业基地亿恩大厦  法律顾问:河南亚太人律师事务所郝建锋、杜慧月律师   京公网安备41019702002023号
      0
     
     
     
     

    0371-60135900
    7*24小时客服服务热线