SQL注入检测和防范技术的比较外文文献翻译中文译文.doc

SQL注入检测和防范技术的比较外文文献翻译中文译文.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本 科 生 毕 业 论 文(设计) 外 文 文 献 翻 译  译文一: SQL注入检测和防范技术的比较 译文二: 学生姓名 朱菲菲 学 号 0704100122 指导教师 张帅 二级学院 信息学院 专业名称 信息管理与信息系统 班 级 07信息1班 2011年3月 SQL注入检测和防范技术的比较 摘要:数据库驱动的Web应用程序正受到SQL注入攻击(SQLIAs)的威胁,因为这种类型的攻击可能危及数据库中的信息的机密性和完整性。事实上,当一个攻击者侵入到Web应用程序数据库时,他就能由此对数据进行访问。为阻止这种攻击,研究人员已经提出不同类型的方法。但是这些方法并不能完全起作用,因为大多数的实施办法不能阻止所有的攻击类型。本文将介绍所有SQL注入攻击(SQLIAs)的类型以及检测或防范这些攻击的不同技术。最后,我们将对所有这些阻止SQL注入攻击的方法进行评估。 关键字:SQL注入攻击;检测;防范 1 介绍 现在,许多日常活动是通过动态Web应用程序实现的。例如,许多人通过动态网站来支付账单,预定酒店或通过考试,而不是花时间上下班。显然,网上的私人信息必须得以保密,网络应用的开发者必须提供信息的保密性和完整性。但不幸的是,开发者并不能保证基础数据库不受当前的攻击。Web应用程序往往容易受到攻击,攻击者很容易入侵到应用程序的基础数据库。 结构化查询语言注入(SQLI)攻击,发生在攻击者通过插入一个新的SQL关键字或运算符来改变SQL查询的逻辑,语义或语法。 SQL注入攻击(SQLIA)属于一种代码注入攻击,发生在没有输入验证时。事实上,攻击者可以将自己的非法输入,塑造成为由数据库操作的最后查询字符串的一部分。财经网站应用程序或涉密信息系统将会是这个漏洞的受害者,因为此漏洞的攻击者可以通过滥用网站的这一漏洞,威胁这些网站的的权威性,完整性和保密性。因此,网站开发者编译一些防御性的代码,以消除这一漏洞,但这些代码往往不能解决这一问题。 SQL注入攻击(SQLIA)也可以逃脱如防火墙和入侵检测系统(IDSs)等传统防范工具,因为它们通过的端口,是用于常规网络流量的并且在防火墙中通常是开放的。另一方面,大多数入侵检测系统(IDSs)的工作重点位于网络和IP层,而SQL注入攻击(SQLIA)作用于应用层。研究人员已经提出了一系列的技术和工具,以帮助开发者来弥补防范编码[7,8,11]的缺点。 问题是,当前的一些技术和工具在现实中不切实际,因为它们无法防范所有攻击类型或是没有得到落实。同样它们中的一些需要修改Web应用程序代码或其他基础设施。然而,本文的主要目的,是介绍各种SQL注入攻击(SQLIA)并对目前的对它们的检测或预防方法进行评价。 本文的结构如下:在第2部分中,我们通过一个例子来定义SQL注入攻击(SQLIA)。在第3部分中,我们将介绍不同的SQL注入攻击(SQLIA)的类型。在第4部分中,我们将回顾目前阻止SQL注入攻击(SQLIA)的技术。在第5部分中,我们将评估SQL注入检测和阻止各种类型的SQL注入攻击(SQLIA)的防范方法。在第6部分中,我们将做出总结和未来的展望。 2 SQL注入攻击的定义 SQL注入是一种攻击类型,攻击者增加结构化查询语言代码到一个网页表单的输入框中,以获取或更改数据。SQL注入漏洞允许攻击者的命令直接到达网站应用程序的基础数据库并破坏其功能性和保密性。 3 SQL注入攻击的类型 网络攻击有着不同的方法,它们根据攻击者的目的来进行同时或持续的攻击。对于一次成功的SQL注入攻击(SQLIA),攻击者应当将一条语义正确的指令附加到原有的SQL查询中去。接下来提出的SQL注入攻击(SQLIA)按照Halfond,Viegas,和Orso研究报告[2,4]分类。 Tautologies:这种类型的攻击,其注入到条件查询语句的SQL符号被认为总是正确的。这种类型的攻击惯于绕过认证控制,并通过开发易受攻击的输入栏来访问数据,而这种输入栏采用的是WHERE子句。 "SELECT * FROM employee WHERE userid = '112' and password ='aaa' OR '1'='1'" 因为这条tautology语句已经加进了查询语句,所以它总是正确的。 非法/逻辑错误的查询:当一个查询被拒绝,一个错误信息从数据库中返回,其中包括有用的调试信息。此错误信息帮助攻击者找到应用程序中易受攻击的参数,并因此找到应用程序的数据库。事实上,攻击者有意在查询中加入无效的输入或SQL符号,以产生语法错误,类型不匹配,或逻辑错误。在这个例子中,攻击者通过在个人识别码(pin)输入栏中输入下面的字段来产生类型不匹配

文档评论(0)

嫣雨流纱 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档