ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:821.85KB ,
资源ID:2946446      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2946446.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL注入攻击与防御.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SQL注入攻击与防御.docx

1、SQL注入攻击与防御编号200702412007024101 南京航空航天大学金城学院毕业设计题 目SQL注入攻击及防范措施研究学生姓名学 号系 部专 业班 级指导教师二一一年六月南京航空航天大学金城学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)(题目:SQL注入攻击及防范措施研究)是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。作者签名: 年 月 日 (学号):SQL注入攻击及防范措施研究摘 要随着网络应用的日益广泛,人们对网络安全的重视程度

2、越来越高。与此同时,网络攻击也不断变换目标和攻击方法。现在,针对Web应用系统的攻击已经成为网络安全攻防新焦点。而在对Web应用系统的所有攻击中,SQL注入成为Web应用系统的严重安全隐患。通过该类型攻击,攻击者可以非法获得对Web应用程序数据库的无限制的访问权限,进一步得到企业和网络用户的机密信息,如银行账号、交易数据等等,给网络用户和企业造成了巨大的生活困扰和经济损失,这就迫切要求对SQL注入攻击实施全面防御。本文就是基于此目的,对SQL注入攻击和防范进行深入研究。 本文首先阐述本课题的研究背景、现状和主要研究内容;接着研究了SQL注入攻击的技术背景和原理;最后,在现有防范方法的基础上提出

3、了一些防范措施。 关键词:SQL注入,网络安全,编码防范SQL injection attacks and Preventive MeasuresAbstractWith an increasingly extensive application of the network, people attach more and more importance to network security At the same time, changes take place in the targets and methods of network attacks. At present, attac

4、ks aimed at Web applications have become a new focus of network security attack and defense. SQL injection has become a serious security risk among all the attacks against Web application. The SQL injection attack allows an attacker to access the underlying database unrestrictedly, and furthermore,

5、retrieves the confidential information of the corporation and the network user, such as bank account number, transaction data, etc. SQL injection can cause great distress and economic losses to enterprises and Internet users, so there is an urgent requirement for comprehensive defense to SQL injecti

6、on attacks. For this reason, this paper conducts an in-depth research on SQL injection and defense. Firstly, the paper elaborates the background of this subject, status and main research contents. Secondly, it explores the technical background and theory of the SQL injection attacks. Finally, the pa

7、per puts forward a novel prevention method based on parse tree originating from the existing defense method.Key Words: SQL Injection; Network Security; Coding defense第一章 引言1.1 课题背景当今世界,网络技术与信息技术高速发展,B/S模式具有界面统一,使用简单,易于维护,扩展性好,共享度高等优点,B/S模式越来越多的被应用于程序编写中。但由于B/S建立在广域网之上,对安全的控制能力较弱,且开发人员的水平和经验参差不齐,相当一部

8、分的程序员在编写代码时没有对用户的输入数据或者是页面中所携带的信息进行必要的合法性判断。攻击者利用这个机会提交一段数据库查询代码,根据程序返回的结果,就可以获得一些数据库信息。1.2 课题研究意义SQL注入攻击存在于大多数访问了数据库且带有参数的动态网页中。SQL注入攻击相当隐秘,表面上看与正常的Web访问没有区别,不易被发现,但是SQL注入攻击潜在的发生概率相对于其他Web攻击要高很多,危害面也更广。其主要危害包括:获取系统控制权、XX状况下操作数据库的数据、恶意篡改网页内容、私自添加系统账号或数据库使用者账号等。现在流行的数据库管理系统都有一些工具和功能组件,可以直接与操作系统及网络进行连

9、接。当攻击者通过SQL注入攻击一个数据库系统,其危害就不只局限于存储在数据库中的数据,攻击者还可以设法获得对DBMS(数据库管理系统)所在的主机进行交互式访问,使其危害从数据库向操作系统、甚至整个网络蔓延。因此,我们不仅应当将SQL注入攻击看作是一个对存储在数据库上数据的威胁,而应当看作是对整个网络的威胁。1.3 国内外研究现状国内对SQL注入攻击研究主要包括SQL注入攻击的原理和SQL注入攻击的关键技术。国内对SQL注入的检测与防范的研究主要集中于以下几个方面:(1)提出了各种各样的防范模型,如在客户端和服务器端进行检测的SQL注入攻击检测/防御/备案模型。(2)在服务端正式处理之前对提交数

10、据进行合法性检查。(3)屏蔽出错信息,这样攻击者就不能从错误信息中获得关于数据库的信息。(4)对Web服务器进行安全设置,如去掉Web服务器上默认的一些危险命令。(5)不用字符串连接建立SQL查询,用存储过程编写代码减少攻击。(6)对包含敏感信息的数据加密,如在数据库中对密码加密存储等。国内对于SQL注入漏洞检测的研究还很少,大多数还是停留在攻击工具的层面上,很少将注入工具用于网站安全检测。国外学者对SQL注入检测与防范研究领域一般分为两大类。(1)漏洞识别(漏洞检测):这类防范主要研究识别应用程序中能导致SQL注入攻击的漏洞的位置。(2)攻击防御:这类方法可以进一步分为编码机制和防御机制。编

11、码机制是一个很好实践的防范方法。SQL注入攻击产生的根本原因在于没有足够的验证机制,因而从编码方面防范攻击有很好的理论基础。编码机制有四种方法:第一,对输入类型检测。如果输入类型是数字型,那么限制其为数字型,这样就可以避免很多攻击,但该类检测机制存在很大局限性。第二,对输入内容编码。因为攻击者可以使用变换后的字符作为输入,而数据库将其转换之后作为SQL符号,可以在应用程序中对这些变化后的字符进行编码,而在数据库中将其还原为正常字符。第三,正模式匹配。通常可以写一段程序用于检测输入是否有不合法字符。第四,识别输入源。防御机制包括:(1)黑盒测试法(2)静态代码检测器(3)结合静态和动态的分析方法

12、(4)新查询开发范例(5)入侵检测系统(6)代理过滤(7)指令集随机化方法(8)动态检测方法等。【8】1.4 课题研究内容本课题介绍了SQL注入的背景、危害,研究了SQL注入的基本原理、注入的基本方法以及一些相关的防御措施。SQL注入的方法主要从手工注入和工具注入两方面进行实现,并从编程、数据库配置、操作系统配置防范等几方面来阐述如何防御SQL注入攻击。第二章 SQL语言及SQL注入环境分析2.1 SQL语言简介SQL全称是“结构化查询语言(Structured Query Language)”,最早是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是

13、SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle 、Sybase、DB2、Informix、SQL Server这些数据库管理系统都支持SQL语言作为查询语言。结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。2.2 SQL注入攻击网络背景现在让人们

14、越来越头疼的是面临越来越复杂的网站技术,他们利用Internet 执行各种恶意活动,如身份窃取、私密信息窃取、带宽资源占用等。它们潜入之后,还会扩散并不断更新自己。这些活动常常利用用户的好奇心,在用户不知道或未允许的情况下潜入用户的PC,不知不觉中,信息就被传送出去,危害十分严重。 网络威胁可以分为内部攻击和外部攻击两类。前者主要来自信任网络,可能是用户执行了未授权访问或是无意中定制了恶意攻击;后者主要是由于网络漏洞被利用或者用户受到恶意程序制定者的专一攻击。此外攻击者还会采用多种形态,甚至是复合形态,比如病毒、蠕虫、特洛伊、间谍软件、僵尸、网络钓鱼电子邮件、漏洞利用、下载程序、社会工程、黑客

15、等攻击手段都可以导致用户信息受到危害,或者导致用户所需的服务被拒绝或劫持。2.3 SQL注入概述SQL注入是一种将恶意的SQL代码插入或添加到应用(用户)的输入参数的攻击,攻击者探测出开发者编程过程中的漏洞,利用这些漏洞,巧妙的构造SQL语句,对数据库系统的内容进行直接检索或修改。凡是构造SQL语句的步骤均存在被潜在攻击的风险,因为SQL的多样性和构造时使用的方法均提供了丰富的编码手段。SQL注入的主要方式是将代码插入到参数中,这些参数会被置入到SQL命令中加以执行。不太直接的攻击方式是将恶意代码插入到字符串中,之后再将这些字符串保存到数据库的数据表中或将其当作元数据。将存储的字符串置入动态S

16、QL命令中,恶意代码就将被执行。如果未对动态构造的SQL语句所使用的参数进行正确性审查,那么攻击者就很可能会修改后台SQL语句的构造。如果攻击者能够修改SQL语句,那么该语句将与应用的用户拥有相同的运行权限。当SQL服务器执行与操作系统交互的命令时,该进程将与执行命令的组件拥有相同的权限。第三章 SQL注入攻击的实现3.1 SQL注入实现原理根据SQL注入的原理的不同,可以将SQL注入方式分为三大类:常规注入、字典猜解注入和盲注入。常规注入方法是利用了系统的错误信息,从错误信息中获取数据库的信息。常规注入方法在屏蔽错误信息后失效,盲注入方法就在此时使用,字典猜解也可在屏蔽错误信息的情况下使用。字典猜解注入:当前管理员和多数网络用户

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1