SQL注入攻击与防御技术.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《SQL注入攻击与防御技术.docx》由会员分享,可在线阅读,更多相关《SQL注入攻击与防御技术.docx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、海 南 大 学毕 业 论 文(设计)题 目:SQL注入攻击与防御技术学 号:20141616310035 姓 名:秦 路 平 学 院:信息科学技术学院 系 别:信息安全系 专 业:信息安全 指导教师:王 隆 娟 完成日期:2018年 5 月 9 日 摘 要自20世纪90年代末起,互联网技术得到快速发展,web应用程序越来越多带给人们极大的便利,但与此同时针对web应用的攻击也越来越多。SQL注入攻击就是其中一种最常见的,而且SQL注入具有隐蔽性大,危害性高、易于实施等特点。目前对于这种攻击技术的研究比较混乱,本文对SQL注入技术进行了深入的归纳整理总结研究,系统性详细阐述了SQL注入攻击技术的
2、产生背景、攻击原理、攻击手段和防御手段等相关知识。最后本文提出SQL注入防范模型,在理论能有效防止SQL注入攻击。该防御系统具有一定的应用价值。关键字:SQL注入攻击 SQL注入防御ABSTRACTSince the end of the 1990s, Internet technology has developed rapidly, and more and more web applications have brought great convenience to people, but at the same time, more and more attacks on Web ap
3、plications have been made. SQL injection is one of the most common attacks, and SQL injection is characterized by high invisibility, high hazard and easy implementation. At present, the research on this kind of attack technology is rather chaotic. This paper makes a thorough summary and Research on
4、SQL injection technology, and systematically expounds the background, attack principle, attack means and defense means of SQL injection attack technology. Finally, this paper proposes a SQL injection prevention model, which can effectively prevent SQL injection attacks. The defense system has a cert
5、ain value of application.Keyword: SQL injection attack SQL injection defense目录第一章 绪论41.1研究背景与意义41.2国内外研究现状51.3课题研究内容61.31 SQL注入攻击原理和攻击过程61.32 SQL注入攻击防御手段和防御模型61.4论文结构7第二章 SQL注入攻击概述82.1 SQL注入攻击背景知识82.11 SQL介绍82.12 SQL注入攻击概念介绍82.2 SQL注入攻击特点及危害92.3 SQL注入攻击手段102.31没有正确过滤转义字符102.32 Incorrect type handlin
6、g112.33 数据库服务器中的漏洞122.34 盲目SQL注入式攻击122.35 条件响应122.36 条件性差错132.37 时间延误132.4 SQL注入实现过程详细分析132.5本章小结18第三章 SQL注入攻击防范概述203.1 SQL注入攻击防御手段203.11针对注入攻击的检测方法203.12 注入攻击防御措施203.121 检查变量数据类型和格式203.122 过滤或转义危险字符213.123 使用参数化的过滤性语句223.124 IIS服务器脚本错误消息的设置223.125 数据库信息加密安全233.126 数据库用户权限的设置233.127 使用web应用防火墙233.2
7、SQL注入攻击防范模型概述243.3本章小结25第四章 总结与展望26参考文献27致谢27第一章 绪论1.1研究背景与意义自互联网诞生以来,就很大程度上对民众的生活产生了很大的影响,并且对于工作也提供了很大的便利。不过任何事物都存在两面性,在方面人们的同时,带给人们的困扰越来越多,猖獗地网络攻击使国家、社会、企业(单位)、个人损失愈发不可轻视。司空见惯的网络攻击,攻击手段日新月异且令人防不胜防。在互联网技术中web形式的应用占据着不可忽视的份量,在政府单位,电子商务,社交平台等互联网服务中大部分都会存在以web形式提供服务,攻击者针对web应用的攻击可以说是不间断的,其中SQL注入攻击尤为明显
8、,该攻击方式具有很大的危害性,对互联网应用安全具有很大的威胁。攻击者能够利用SQL注入攻击技术进行各种各样的恶意活动,导致合法权益被侵犯,资源被盗取盗用。后期衍生出一些防御手段,但防御手段更新速度无法与攻击者更新攻击技术跟进,网络安全问题日趋严重。作为web应用漏洞利用者SQL注入攻击技术被攻击者利用来获取web应用的资源。这种困扰web应用管理者的攻击技术还时不时定期爆发,给web应用的管理者带来了极大的困扰,也给各受侵入web应用程序带了各种各样的损失,比如信誉受损、敏感信息被窃取、资源被占用等,给人们正常生活带来了极大的不安全性。因此针对此类网络攻击技术研究是极具意义的事情。综上所述,通
9、过对SQL注入攻击技术研究,可以掌握SQL注入攻击的原理、手段且方便了解和评估其危害。通过对SQL注入防范手段和模型的研究,了解和掌握业界一些比较成熟的防御手段和防御模型,通过对其了解、整理、归纳,就能根据具体情况独立设计符合满足自身需要或者针对大部分常用SQL注入攻击手段较为实用、健壮的通用防御系统。这些防御和检测系统能有效的检测和防御大部分针对政府企业单位和用户的SQL注入攻击。因此,这项研究对保护人们信息安全具有极大社会意义和研究。1.2国内外研究现状随着互联网的发展极大的便利了人们的工作生活,政府单位、企业基本上都在线上有开展业务,web应用得到了极大的推广。但针对web应用的攻击也越
10、来越多,其中SQL注入攻击尤为常见且危害极大。随着SQL注入攻击愈发频繁,SQL注入攻击迅速成为国内外网络安全研究热点。SQL注入研究大致集中于SQL注入攻击工具的开发,和防SQL注入攻击系统的研究设计开发,国内对于SQL注入研究主要集中于网络安全公司,这些网络安全公司(如360、绿盟等)对SQL注入研究主要体现于对SQL注入入侵检测系统的开发。国外研究对SQL注入研究提出了大量实用防御措施,例如提出对程序终端的用户输入进行合法性检测、提出屏蔽访问数据库措施使得攻击者无法获取关于数据库的有效信息、提出对数据库敏感信息进行加密和权限访问,以及提出对组装SQL语句预分析方法等等。1.3课题研究内容
11、本课题主要研究内容有:1.31 SQL注入攻击原理和攻击过程结构化查询语言(SQL)的本质为一个文本语言,主要是用于跟数据库产生交互的,因为部分数据库在执行查询操作的时候(针对于语句的),区别用户数据或者是系统查询代码功能缺失,数据库无法分清是用户数据还是查询语句。SQL注入攻击就是利用这一漏洞,将SQL查询语句当做用户数据或伪装成用户数据提交,使数据库执行该查询语句,从而获取用户的敏感信息,此外攻击者获取数据库相关信息后可进一步注入拿到用户数据库的控制权、带宽等资源。1.32 SQL注入攻击防御手段和防御模型本文在阐述SQL注入攻击防御手段和防御模型时重点阐述了SQL注入攻击的检测:基于特殊
12、、敏感字符的检测和防范措施,SQL注入攻击防范基本策略有:检查变量数据类型和格式、过滤或转义危险字符、使用参数化的过滤性语句、IIS 服务器脚本错误消息的设置、数据库信息加密安全、数据库用户权限的设置等以及阐述了一套简约的自动防范SQL注入攻击的模型1.4论文结构本文分为绪论、SQL注入攻击概述、SQL注入攻击防范概述、基于SQL注入攻击通用防注入系统的研究,总共分为5个部分。第一章为绪论,这个部分的内容重点对此篇论文的研究目标、意义、课题选取原因、研究现状、以及章节分布等进行了详细的陈列;第二章为SQL注入攻击的概述,该部分详细阐述了SQL注入攻击背景知识、SQL注入攻击特点及危害以及手段和
13、其注入实现过程;第三章为SQL注入攻击防范的概述,前一章详解阐述了SQL注入攻击的相关知识,在对SQL注入攻击有详细了解后,针对SQL注入攻击作出相应的防御,包括防御的手段和防御模型概述。第四章为全文的总结与展望部分,针对本文的研究内容作出总结和提出了自己对SQL注入今后发展展望。第二章 SQL注入攻击概述2.1 SQL注入攻击背景知识2.11 SQL介绍SQL的本质为一种结构化查询语言,它能够对程序进行设计,也能够对数据库进行查询。大多数情况下都能够对数据库展开储存、查询以及更新等操作,并且还能够对关系数据库系统进行有效的管理。SQL为一种编程语言,存在一定的特殊目的,属于高级的范畴,并且是
14、非过程化的,它能够让用户可以对高层数据结构进行相关的操作,这主要是针对于它允许用户不了解数据存放方法和方式的情况下对数据进行操作。就理论层面而言,它存在不一样的底层结构,并且存在不一样的数据库系统,因此它们能够采取相同的SQL来对数据库系统展开有关的操作,1986年十月份,美国权威机构进行了关于SQL的调整以及规范,并且将其设定成关系式数据库管理系统的标准语言(ANSI X3. 135-1986),一年以后,它获得了国际标准组织对其的认可,发展成为了国际标准。但是不同类型通行的数据库系统在使用的阶段里都对其规范性展开了有效的完善以及编改。因此从本质而言,不一样数据库系统间存在的SQL未能全部地
15、进行通用。2.12 SQL注入攻击概念介绍现在的应用开发的整体框架主要分为C/S(client/server,客户端服务器模式)和B/S(Browser/Server,浏览器服务器模式)架构,两者虽存在有居多区别,但两者模式可以总结为由表示层发出请求,经由应用层处理向数据层发出SQL请求,数据层处理请求后把处理后的结果反馈给应用层,应用层再应答给表示层。攻击者可以利用应用的漏洞,将一些恶意代码当做数据提交,或者伪装成数据绕过应用程序检测,最终在应用程序上执行恶意的SQL命令,获取到数据库中的一些敏感信息,再获取这些敏感信息后攻击者可进一步对数据库进行操作,最终完全拥有对数据库完全控制的权限。这
16、就是SQL注入攻击(SQLinject attack)。2.2 SQL注入攻击特点及危害SQL作为网络安全常见威胁点之一,其具很多特点。特点一、存在面广,SQL注入攻击是建立在SQL语言基础上的,理论上存在使用SQL语言的地方就有可能存在SQL注入漏洞,而现实情况也是基本如此。因为某些采取SQL语言的web应用程序并未能就输入的SQL语言展开了有效的解决、处理、以及审核,因此会导致SQL出现注入漏洞;即使有相当部分网站对输入的SQL语句进行过严格的处理,但也不能完全保证没SQL注入漏洞的存在。特点二、技术难度低,几乎大部分的SQL注入资料都可以网上找到,包括学习文档、视频、SQL注入工具等,利
17、用SQL注入工具很容易对一些防护力度低的web应用程序实施攻击。特点三、危害大,当攻击者成功实施SQL注入后,可以获取相应数据库的敏感信息、对数据库进行改写等操作,对web应用相关用户、单位造成损失。2.3 SQL注入攻击手段2.31没有正确过滤转义字符如果用户在进行输入后,未能就转义字符进行有效地处理(一般是指过滤),那么就很大程度上会导致上述注入式攻击行为的出现。假如攻击人员通过转义字符来提供存在较大现实意义的SQL语句,就很有可能会使得数据库能够得到终端的管理以及操作。比方说,下面的这行代码就会演示这种漏洞:SELECT * FROM users WHERE name = + userN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 注入 攻击 防御 技术
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内