SQL注入攻击中使用的盲注技术.pdfVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL注入攻击中使用的盲注技术

SQL 注入攻击中使用的盲注技术 摘 要: 本文对目前SQL 注入攻击中使用的盲注技术进行了综述。本文首先介 绍了普通SQL 注入技术的定义和危害,回顾了几种已被提出的针对SQL 注入的 防御手段及其各自的缺点,然后讨论了在错误信息被屏蔽或掩饰的情况下探测 SQL 注入漏洞是否存在所需的服务器最小响应,以及如何确定注入点和确定正 确的注入句法并构造利用代码。最后本文还以UNION SELECT 语句为例,详细 介绍了利用该语句在盲注条件下统计数据表的列数和判断列的数据类型的方法 和步骤。本文中给出的例子都是针对Microsoft SQL Server 和Oracle 的,但同 样的技术也可以被应用到其他数据库系统。本文的目的是明确应用程序级别的漏 洞只能通过应用程序级别的方案才能解决,仅仅依靠屏蔽错误信息来回避SQL 注入攻击是无益的。 关键词: SQL 注入;盲注;数据库攻击;网络应用程序安全 1 简介 1.1 普通SQL 注入技术概述 [1] 目前没有对SQL 注入技术的标准定义,微软中国技术中心从2 个方面进行了描 述: (1) 脚本注入式的攻击 (2) 恶意用户输入用来影响被执行的SQL 脚本 [2] 根据Chris Anley 的定义, 当一个攻击者通过在查询语句中插入一系列的SQL 语 句来将数据写入到应用 [3] 程序中,这种方法就可以定义成SQL 注入。Stephen Kost 给出了这种攻击形式 的另一个特征,“从一个数据 库获得未经授权的访问和直接检索”,SQL 注入攻击就其本质而言,它利用的工 具是SQL 的语法,针对的是应用程序开发者编程过程中的漏洞,“当攻击者能够 操作数据,往应用程序中插入一些SQL 语句时,SQL 注入攻击就发生了” 。实际 上,SQL 注入是存在于常见的多连接的应用程序中一种漏洞,攻击者通过在应 用程序中预先定义好的查询语句结尾加上额外的SQL 语句元素,欺骗数据库服 务器执行非授权的任意查询。 这类应用程序一般是网络应用程序(Web Application),它允许用户输入查询条件, 并将查询条件嵌入SQL 请求语句中,发送到与该应用程序相关联的数据库服务 器中去执行。通过构造一些畸形的输入,攻击者能够操作这种请求语句去获取预 先未知的结果。 在风险方面,SQL 注入攻击是位居前列的,与缓冲区溢出等漏洞基本相当。而 且如果要实施缓冲区溢出攻击,攻击者必须首先能绕过站点的防火墙;而对于 SQL 注入攻击,由于防火墙为了使用户能访问网络应用程序,必须允许从 Internet 到Web 服务器的正向连接,因此一旦网络应用程序有注入漏洞,攻击 者就可以直接访问数据库进而甚至能够获得数据库所在的服务器的访问权,因此 在某些情况下,SQL 注入攻击的风险要高于所有其他漏洞。 SQL 注入攻击利用的是SQL 语法,这使得这种攻击具有广泛性。理论上说,对 于所有基于SQL 语言标 准的数据库软件包括SQL Server,Oracle,MySQL, DB2,Informix 等以及与之 连接的网络应用程序包括 Active/Java Server Pages, Cold Fusion Management, PHP 或Perl 等都是有效 的。当然各种软件有自身的特点,实际的攻击代码可能不尽相同。SQL 注入攻 击的原理相对简单,且各类基于数据库系统的应用程序被广泛使用,介绍注入漏 洞和利用方法的公开出版物也大量问世,造成近年SQL 注入攻击的数量一直增 长,注入攻击的形式也有被滥用的趋势。 关于针对MS SQL Server 的普通SQL 注入技术的详细介绍,可以参考Chris Anley 所撰的“SQL Server 应用[2][4] 程序中的高级SQL 注入”一文和其后续“更多的高级SQL 注入”,Cesar Cerrundo 所撰的“利用SQL 注入[5]操纵Microsoft SQL Server”一文,以及SPI 实验室的 Kevin Spett 撰写的白皮书“SQL 注入 – 你的网络应用[6]程序是否会受攻击?” ; 而针对Oracle 的普通SQL 注入技术介绍,可以参考Stephen Kost 的“针对Oracle 开发[3]人员的SQL 注入攻击简介”一文。 1.2 SQL 注入攻击的防御手段 由于越来越多的攻击利用了SQL 注入技术,也随之产生了很多试图解决注入漏 洞的方案。目前被提出的 方案有: (1) 在服务端正式处理之前对提交数据的合法性进行检查; (2) 封装客户端提交信息;

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档