sql盲注攻击技术综述

sql盲注攻击技术综述

ID:15848512

大小:43.00 KB

页数:10页

时间:2018-08-06

sql盲注攻击技术综述_第1页
sql盲注攻击技术综述_第2页
sql盲注攻击技术综述_第3页
sql盲注攻击技术综述_第4页
sql盲注攻击技术综述_第5页
资源描述:

《sql盲注攻击技术综述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQL盲注攻击技术综述  1简介  1.1普通SQL注入技术概述  目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述[1]:  (1)脚本注入式的攻击  (2)恶意用户输入用来影响被执行的SQL脚本  根据ChrisAnley的定义[2],当一个攻击者通过在查询语句中插入一系列的SQL语句来将数据写入到应用程序中,这种方法就可以定义成SQL注入。StephenKost[3]给出了这种攻击形式的另一个特征,“从一个数据库获得未经授权的访问和直接检索”,SQL注入攻击就其本质而言,它利用的工具是SQL的语法,针

2、对的是应用程序开发者编程过程中的漏洞,“当攻击者能够操作数据,往应用程序中插入一些SQL语句时,SQL注入攻击就发生了”。实际上,SQL注入是存在于常见的多连接的应用程序中一种漏洞,攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的任意查询。这类应用程序一般是网络应用程序(WebApplication),它允许用户输入查询条件,并将查询条件嵌入SQL请求语句中,发送到与该应用程序相关联的数据库服务器中去执行。通过构造一些畸形的输入,攻击者能够操作这种请求语句去获取预先未知的结果。 

3、 在风险方面,SQL注入攻击是位居前列的,与缓冲区溢出等漏洞基本相当。而且如果要实施缓冲区溢出攻击,攻击者必须首先能绕过站点的防火墙;而对于SQL注入攻击,由于防火墙为了使用户能访问网络应用程序,必须允许从Internet到Web服务器的正向连接,因此一旦网络应用程序有注入漏洞,攻击者就可以直接访问数据库进而甚至能够获得数据库所在的服务器的访问权,因此在某些情况下,SQL注入攻击的风险要高于所有其他漏洞。  SQL注入攻击利用的是SQL语法,这使得这种攻击具有广泛性。理论上说,对于所有基于SQL语言标准的数据库软件包括SQLSer

4、ver,Oracle,MySQL,DB2,Informix等以及与之连接的网络应用程序包括Active/JavaServerPages,ColdFusionManagement,PHP或Perl等都是有效的。当然各种软件有自身的特点,实际的攻击代码可能不尽相同。SQL注入攻击的原理相对简单,且各类基于数据库系统的应用程序被广泛使用,介绍注入漏洞和利用方法的公开出版物也大量问世,造成近年SQL注入攻击的数量一直增长,注入攻击的形式也有被滥用的趋势。  关于针对MSSQLServer的普通SQL注入技术的详细介绍,可以参考ChrisA

5、nley所撰的“SQLServer应用程序中的高级SQL注入”[2]一文和其后续“更多的高级SQL注入”[4],CesarCerrundo所撰的“利用SQL注入操纵MicrosoftSQLServer”[5]一文,以及SPI实验室的KevinSpett撰写的白皮书“SQL注入你的网络应用程序是否会受攻击?”[6];而针对Oracle的普通SQL注入技术介绍,可以参考StephenKost的“针对Oracle开发人员的SQL注入攻击简介”[3]一文。  1.2SQL注入攻击的防御手段由于越来越多的攻击利用了SQL注入技术,也随之产生

6、了很多试图解决注入漏洞的方案。目前被提出的方案有:(1)在服务端正式处理之前对提交数据的合法性进行检查;(2)封装客户端提交信息;(3)替换或删除敏感字符/字符串;(4)屏蔽出错信息。方案(1)被公认是最根本的解决方案,在确认客户端的输入合法之前,服务端拒绝进行关键性的处理操作,不过这需要开发者能够以一种安全的方式来构建网络应用程序,虽然已有大量针对在网络应用程序开发中如何安全地访问数据库的文档出版,但仍然有很多开发者缺乏足够的安全意识,造成开发出的产品中依旧存在注入漏洞;方案(2)的做法需要RDBMS的支持,目前只有Oracle

7、采用该技术;方案(3)则是一种不完全的解决措施,例如,当客户端的输入为“…ccmdmcmdd…”时,在对敏感字符串“cmd”替换删除以后,剩下的字符正好是“…cmd…”;方案(4)是目前最常被采用的方法,很多安全文档都认为SQL注入攻击需要通过错误信息收集信息,有些甚至声称某些特殊的任务若缺乏详细的错误信息则不能完成,这使很多安全专家形成一种观念,即注入攻击在缺乏详细错误的情况下不能实施。而实际上,屏蔽错误信息是在服务端处理完毕之后进行补救,攻击其实已经发生,只是企图阻止攻击者知道攻击的结果而已。本文所介绍SQL盲注技术就是一些攻

8、击者使用的新技术,其在错误信息被屏蔽的情况下使攻击者仍能获得所需的信息,并继续实施注入攻击。  1.3本文的结构组织  为了理解盲注攻击,我们首先将介绍确定SQL注入漏洞所需的服务器的最小响应;其次,我们将构造一个合乎语法的SQL请求,并可以将之替

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。