- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 绪论
1.1 项目背景及意义
SQL注入攻击是一种非常有效且破坏性很大的渗透手段。它是针对于数据库的一种攻击手段,通过利用数据库的外部接口把恶意代码插入到SQL语言中使数据库服务器解析并执行,以达到入侵目标数据库及至整个操作系统的目的。了解和熟悉SQL注入原理,掌握防御SQL注入攻击的原理和技巧就变得至关重要。SQL注入攻击的普遍性、难捉摸性、简易性等特点让其成为了网络中黑客主流攻击方式之一。因为SQL注入是从正常的Web平台入口进行请求访问,和请求正常的Web页面没有什么区别,所以目前市面上除了专门的Web防御防火墙外,大部分防火墙都不会对这类SQL注入攻击进行监控和发出警报,若网站管理员没有经常查看IIS日志的经验和习惯,有可能被入侵很长一段时间后都没有任何发觉。由于现在广泛流行的恶意攻击工具,SQL注入在近年来呈现一种增长的趋势。
据OWASP(开放式web应用程序安全项目)每隔三年更新一次的“十大安全隐患列表”,在近几次公布的总结Web应用程序最可能、最常见、最危险的十大安全隐患中,SQL注入攻击一直排列靠前。OWASP TOP 10 2010中列出的最严重的Web应用程序的漏洞中,注入(Injection)风险位居第一。
Web应用的发展越来越成熟,应用的各项技术发展得也越来越复杂。它们涵盖了从外部动态展示INTERNET和内部工作网络到以WEB协议方式传递数据的企业工作应用(如文档管理系统等)。这些系统的实用性及其数据存储、处理内容的机密性和敏感性对于企业的主要业务而言都非常重要。
当前市面的注入攻击检测工具只能对单个网页或者单个URL进行检测和注入,无法对整个网站的漏洞进行检测。而漏洞扫描工具可以对整个网站漏洞进行扫描却无法进行进一步的注入攻击检测。很大程度上不能满足开发人员和管理人员对网站SQL注入漏洞全面了解的要求。本研究的最终目的是分析SQL注入攻击的类型、关键技术和原理,并研究SQL注入在实际应用中的操作方法,在此基础之上,设计并开发了一套自动注入工具。
因为恶意攻击者不仅可以通过SQL注入攻击对Web应用数据进行盗取、篡改信息,还可以进一步对于服务器进行恶意操作,并且植入木马或者后门程序,甚至控制整个服务器,这就严重影响了应用的正常运行以及对于应用的信息安全带来严重后果。所以,对于功能齐备的SQL注入攻击扫描与检测工具的研究与开发具,具有非常重要的现实意义。应用程序开发者或网站管理人员使用此工具对自已的网站进行安全检测,以达到减小SQL注入的可能性。同时,在渗透测试工作中,对于安全测试也具有很大的帮助。
1.2 研究内容
1.2.1 自动注入攻击工具的研发
本研究首先理解Web应用的工作原理,首先简要概述Web应用系统通用的架构模式,理解了构建模式后能更清晰的了解SQL注入的产生过程,然后从Web应用的代码层来分析介绍是什么引起了通用的SQL注入,然后研究介绍SQL注入漏洞的利用过程。从框架到利用逐步分析SQL注入的过程和利用,然后根据分析的内容构建SQL注入的自动化检测及注入攻击利用框架。
1.2.2 SQL注入原理
SQL注入的原理,是将SQL代码插入或者非正常时添加到应用的参数当中,并且进行了一定的拼接传入到了后台的数据库服务器,最终使服务器执行了该拼接的恶意SQL命令。所有的是通过SQL语句执行的应用过程均存在被攻击的威胁,因为SQL的多样多变性语言结构特征使得攻击者可以拼接构建丰富的代码编码手段等来拼接语句来欺骗服务器。SQL注入攻击的主要方式就是直接将命令插入到应用服务的表单参数中传入到后台数据库查询字符串中,这些参数就会被带入到后台数据库服务器进行执行解析,攻击者便可以构造恶意命令来达到攻击目的。
1.2.3 SQL注入检测技术
检测发现SQL注入漏洞有一条简单的规则:SQL注入是通过发送特殊数据来触发异常操作。该规则包括如下含义:
检测Web应用上所有的输入数据;
集合SQL语法,归类所有可能触发异常的数据类型;
检测数据库服务器应用响应中的异常。
首先需要清楚Web浏览器向Web服务器发送请求的过程。不同的服务应用会有不同的体现方式,它们均处在基于Web的环境中,所以基本原理是相同的。
识别和检测应用接受的所有数据,攻击一般都会修改这些数据,所以需要识别并分析服务器对它们的响应。有时响应中会直接包含来自数据库的SQL错误,有时需要不断的方式来检测和确定响应中细微的差别。
1.3 章节安排
本论文章节安排如下:
第一章 绪论:综述此研究设计的背景意义以及研究内容。
第二章 SQL注入技术研究:主要对SQL注入攻击方式过程和攻击特点进行归类、识别,首先理解Web应用的工作原理,概述Web应用通用的构建方式,为理解SQL注入的产生过程提供一些背景知识,接下来从Web应用
文档评论(0)