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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《网络攻击与防御》专题研究实验报告.docx

1、网络攻击与防御专题研究实验报告(此文档为word格式,下载后您可任意编辑修改!)XXXXXXXXXXX学院网络工程系网络攻击与防御报告SQL注入攻击技术专题研究学 生:XXXXXXXXXXX班 级:XXXXXXXXXXX撰写时间:XXXXXXXXXX摘 要由于现今信息技术发展迅速,网络安全越来越成为虚拟网络中不可或缺的一部分。然而,因为各种Web服务器的漏洞与程序的非严密性,导致针对服务器的脚本攻击时间日益增多,其大多数是通过ASP或者PHP等脚本主图作为主要攻击手段,加之Web站点迅速膨胀的今天,基于两者的SQL注入也慢慢成为目前攻击的主流方式。其应用方式主要集在利用服务端口接收用户输入的功

2、能,将构造的语句传给数据库服务器,让其执行者开发者规定外的任务。目前至少70%以上的Web站点存在着SQL注入的缺陷,恶意用户便可以利用服务器、数据库配置的疏漏和精心构造的非法语句通过程序或脚本侵入服务器获得网站管理员的权限和数据库的相关内容,严重的还可以获得整个服务器所在内网的系统信息,它们的存在不仅对数据库信息造成威胁,甚至还可以威胁到系统和用户本身。本文针对SQL注入技术进行专题研究,进行工具注入和手动注入两种途径的实验分析。全文共分为五个章节:第一章为全文引言部分,简单介绍本次专题研究背景、来源以及研究意义;第二章阐述SQL注入技术的背景与网络环境;第三章详细介绍本次专题研究SQL注入

3、攻击的实验过程和结果分析;第四章进行本次专题研究的总结及实验心得。关键词:SQL,注入,权限,网络攻击Abstract Due to the rapid development of information technology today, network security become an integral part of the virtual network. However, because of various Web server and procedure of the loopholes for server rigor leads to increasing the sc

4、ript against time, its most is through the ASP or PHP etc feet as the main attack means owner is graph, together with the rapid expansion of Web pillow mat, based on both today SQL injection also slowly become the mainstream way. Attack Its application in the main means set by service ports receive

5、user input function, will construct sentences to database server, make its executives developers specified tasks. At least more than 70 percent of the Web site exist defects of SQL injection, malicious users can use server, database configuration the defects and elaborate structure of illegal statem

6、ents programs or scripts invades server by website administrator permissions and obtained the database, serious still relevant content can be obtained in the whole server connection system information, they exist to threaten not only database information, and even threaten systems and users itself.

7、This paper research projects in SQL injection technology, tools and manually injection into the experimental analysis of two kinds of ways. Full text is divided into five sections: the first chapter for full text introduction section, and briefly introduces the keynote research background, sources a

8、nd research significance; The second chapter SQL injection technology background paper with network environment; The third chapter of this project are introduced in detail SQL injection attack experimental process and result analysis; The fourth chapter of this project summary and experimental resul

9、t. Keywords: SQL, infuse, privileges, cyber attacks目 录Abstract 3第一章 引言 51.1 专题背景 51.1.1 网络安全的根源 51.1.2 网络信息安全的定义 61.1.3 网络信息安全的现状 61.2 专题来源于研究意义 7第二章 SQL注入的背景与网络环境 82.1 SQL注入攻击网络背景 82.1.1 攻击平台Web网络架构 82.1.2 SQL数据库语言 92.2 SQL注入技术定义 102.3 SQL注入技术特点 112.4 SQL注入技术原理 112.4.1 SQL注入攻击实现原理 112.4.2 SQL注入攻击实现

10、过程 12第三章 SQL注入攻击实例分析 133.1 工具注入攻击 133.1.1 注入工具简介 133.1.2 SQL注入Access数据库实现过程 143.1.3 SQL注入MYSQL数据库实现过程 173.2 手动注入攻击 213.2.1 ACCESS数据库的注入 223.2.2 MSSQL数据库的注入 24第四章 结束语 24参考文献 25第一章 引言由于Internet的普及与应用,通信技术和计算机网络技术得到了迅猛发展,特别是国际互联网的出现,使得计算机以前所未有的速度应用于如政府、商务、企业、教育、医疗等社会的各个领域,这些都深刻地影响着人们的经济、工作和生活方式。而以计算机联网

11、来交流信息的方式已经成为现代社会的主流趋势,信息化水平已经成为衡量一个国家现代化程度和综合国力的重要标志。与此同时,网络的发展与信息化技术的提高也促使着网络运行与网络内容的安全这一关键性问题渐渐得到了人们的关注,信息安全也从起初简单的设计扩展到了多领域多层次的研究阶段。1.1 专题背景1.1.1 网络安全的根源随着社会信息化的发展,现在不只是军事、政府、企业往来,甚至日常生活之间的信息交往都热切的需要信息安全技术的保障,出现这一局面的鱼啊您大致有以下几点:(1)网络开放性引发的攻击。 因为越来越多拥有不同企图、不同背景的网络终端客户介入到互联网环境中,互联网已经不再是当初以科技和教育为初衷的校

12、园互信环境,加之网络用户可以轻易的获取核心技术资料,开放源代码的应用程序,由于其公开代码的特点也使得众多准攻击者有了用武之地。(2)协议自身的漏洞。 现今广泛应用的网络协议TCP/IP,它的设计初衷只是在一个可信的环境下使局域网络互联,网络的可靠性与可用性要明显优于安全性,这也是导致网络上如DDOS、IP欺骗、扫描。监听等多种网络攻击发生的根源。(3)关联与复杂性。 由于软件发展周期与技术水平的限制,可以说基本上所有软件在设计中都或多或少遗漏了某些计算机安全方面的问题,即是少数网络产品有足够的安全健壮性,但是由于网络关联性也会导致只需攻击其中最薄弱的环节就可以使整个体系瘫痪。并且,当今操作系统

13、的多样性和拓扑结构的复杂性也使得网络的安全配置十分艰难,攻击者可以轻易的隐藏自己达到其自身的攻击目的。(4)安全意识。 广大网络用户普遍安全意识淡薄,这也是导致了黑客攻击层出不穷,利用计算机犯罪的案例与日俱增的主要原因之一。1.1.2 网络信息安全的定义信息安全这个领域始于上个世纪60年代,起初只是对专用主机及其数据进行保护,本质上只是面向单机的。发展到80年代,由于微机的广泛出现促成了局域网的发展,此时信息安全的侧重点是依靠技术与网络约定来进行保护,实施的范围相对狭小,而到了90年代,互联网的蓬勃发展,把各个地区的终端计算机用网络连接起来,实现了全球范围的资源共享,但信息在处理、传输、存储等

14、网络各个环节方面都存在着脆弱性,极易被劫获、监听、篡改、删除或添加隐藏恶意代码等。因此,可以说在进入21世纪后,信息安全才真正成为信息技术发展的核心任务。国际标准化组织(ISO)也对信息安全作出了定义:“为数据处理系统建立和采取的技术和管理的安全保护,保护计算机硬件、软件数据不因偶然和恶意的原因而遭到破坏、更改和泄露。”目前,从信息安全的特性上看,信息安全大致分为以下几个属性,当然随着科技的发展又加入了如可服务性等新概念。1.1.3 网络信息安全的现状信息系统的安全对于整个社会、整个国家来说都具有巨大的现实意义,其中,无论从国家信息、个人隐私、公司机密等方面考虑,以数据库和Web服务器为基础的

15、网络安全都已成为目前核心的安全问题。数据库与Web技术是组成现代化信息系统的核心技术,企业、政府、个人之间的信息共享绝大部分都需要数据库与Web服务器的支持,信息系统安全中包括的四个基本属性对应在这两种技术安全考虑,可以理解为在服务器端要做到一切关于个人敏感信息只能被合法的用户获得,数据库的内容不能砸越权的情况下擅自修改,Web服务器动态处理函数正确的处理用户的请求,避免恶意代码的执行暴露敏感信息等等。如果无法保障数据库与Web服务器的安全配置与服务,不但其自身的敏感信息会被窃取,其依托的操作系统也会面临严重的威胁。所以,研究数据库与Web攻击的原理是迫切需要解决的课题。1.2 专题来源于研究

16、意义以数据库与Web为代表的计算机信息共享是当今信息传递的主要载体和传播方式,而数据信息又是社会发展需要的战略资源。因此,围绕这两种技术的安全建设、使用与控制都成为影响企业,乃至国家利益的关键问题。然而,基于它们的网络安全相关研究工作还远不能达到实际需求,其中很重要的原因就是由于前所未有的网络发展速度、攻击所涉及的技术也相对复杂、网络用户还没偶能力预测未来的攻击方式与途径,所以也就更没有能力在一个技术的高度上提出全面的解决方案。结合现状,本文从几个方面进行网络数据库与Web服务器安全的价值:(1)复杂的数据库系统。 由于当今数据库的复杂性,导致正确、万无一失的配置和安全维护变得十分艰难,这些没

17、有检测出的安全隐患和不当的配置也给注入的网络攻击者留下了可趁之机。(2)不完善的数据库服务器与操作系统数据的安全保障体系。 由于性能配置方式的多样性,在使用时很可能被注入攻击者调用系统函数,从而危及数据库与系统数据的安全,严重时可能会破坏其所在的整个拥有信用关系的网络体系。(3)系统敏感信息的非法访问。尤其在代表着政府形象和企业形象的Web服务器和数据库服务器,都保存着重要的数据信息,如果与Web服务器的搭配不恰当会被攻击者蓄意输入恶意代码导致敏感信息如电子货币、信用卡卡号的泄露,造成极大的社会危害。另外,从网络攻击者的角度来研究安全防御措施,通过分析与利用攻击者的实施方法,把握攻击者的心理,

18、对网络攻击进行深入研究、提高安全检测、主动防御的能力都具有重要意义。对网络攻击的研究属于网络安全的灰色研究地带。成果形式与研究方法也与IDS等应用性研究不同,但是却具有更高的学术价值,并会对相关安全产品起到积极的影响,有助于提高目前安全产品的性能。而且从攻击的角度研究安全防御,改变了以往为防范研究防范措施的被动的繁育思想,使安全防御有着更强针对性。第二章 SQL注入的背景与网络环境 由于各种Web服务器的漏洞与程序的非严密性,导致针对服务器的脚本攻击时间日益增多,其大多数是通过ASP或者PHP等脚本主图作为主要攻击手段,加之Web站点迅速膨胀的今天,基于两者的SQL注入也慢慢成为目前攻击的主流

19、,同样在Web服务器端程序的编写过程中普遍存在着编写者专注于功能的实现而忽略代码安全性检测的现象,导致大量提供交互操作Web服务器存在漏洞,其中至少70%以上的这样的站点存在着SQL注入的缺陷,恶意用户便可以利用服务器、数据库配置的疏漏和精心构造的非法语句通过程序或脚本侵入服务器获得网站管理员的权限和数据库的相关内容,严重的还可以获得整个服务器所在内网的系统信息,它们的存在不仅对数据库信息造成威胁,甚至还可以威胁到系统和用户本身。2.1 SQL注入攻击网络背景2.1.1 攻击平台Web网络架构Web是World Wide Web(万维网)的简称,其基本采用C/S(客户/服务器)结构,总体结构由

20、Web服务器端、客户终端和通信协议三大部分构成。(1)Web服务器端。 Web服务器端是指驻留于因特网上的某种类型计算机程序。复杂的Web服务器结构中规定了服务器的传输设定、信息传输格式以及服务器本身的基本开放结构。Web服务器不仅能够存储信息、按用户需求返回信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。Web服务器的作用就是管理这些信息按用户的要求返回信息。(2)客户终端。 所谓客户终端,就是用户普遍使用Web浏览器,主要用于向服务器端发送请求,并将接收到的信息进行解码、显示在浏览器上供用户查看。浏览器是客户端的软件系统,它从Web服务器上传和下砸文件,并翻译下载文件中的

21、HTML代码,进行格式化,根据HTML中的内容在屏幕上显示输出。信息如果文件中包含特殊文件(如声音、视频等),Web浏览器会作相应的处理或依据所支持的插件进行必要的显示。(3)HTTP文件传输协议。图2.1 网络C/S结构 Web浏览器与服务器之间遵循HTTP协议进行通讯传输,HTTP(Hyper Text Transfer Protocol)是超文本传输协议的缩写,是分布式Web应用的核心技术。HTTP协议采用了请求/响应模型,即客户端向服务器端发送一个请求,报头包含有请求的方法、URL、协议版本,以及包含请求修饰符、客户信息和内容,其结构类似MIME消息。服务器以一个状态行作为响应,返回给

22、客户端浏览器。该协议在TCP/IP协议栈中属于应用层协议。2.1.2 SQL数据库语言SQL(Structured Query Language)即结构化查询语言,使用SQL编写应用程序可以完成数据库的管理工作。它的主要功能是同各种数据库建立联系进行沟通,任何程序,无论它用什么形式的感激语言,只要目的是向数据库管理系统发出命令来获得数据库管理系统的响应,最终都必须体现以SQL语句的指令。按照ANSI(美国国家标准协会)的规定,SQL语句是和关系型数据系统进行交互的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据、从素具哭中提取数据等。目前大多数流行的关系型数据库管理系统例

23、如Oracle,Microsoft SQL Server,Access等都采用了SQL语言标准,虽然很多数据库都对SQL语言进行了再开发和扩展,但是包括SELECT,INSERT,UPDATE,DELETE,CREATE,以及DROP在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。2.2 SQL注入技术定义 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。SQL注入(SQL

24、Injection)技术在国外最早出现在1999年,我国在2002年后开始大量出现,目前没有对SQL注入技术的标准定义,微软中国技术中心从2个方面进行了描述。(1)脚本注入式的攻击。(2)恶意用户输入来影响被执行的SQL脚本。 Chris Anley将SQL注入定义为,攻击者通过在查询操作中插入一系列的SQL语句到应用程序中来操作数据。Stephen Kost3给出了SQL注入的一个特征,“从一个数据库获得XX的访问和直接检索”。利用SQL注入技术来实施网络攻击常称为SQL注入攻击,其本质是利用Web应用程序中所输入的SQL语句的语法处理,针对的是Web应用程序开发者编程过程中未对SQL语句传

25、入的参数做出严格的检查和处理所造成的。习惯上将存在SQL注入点的程序或者网站称为SQL注入漏洞。实际上,SQL注入是存在于有数据库连接的应用程序中的一种漏洞,攻击者通过在应用程序中预先定义好的查询语句结尾加上额外的SQL语句元素,欺骗数据库服务器执行非授权的查询。这类应用程序一般是基于Web的应用程序,它允许用户输入查询条件,并将查询条件嵌入SQL请求语句中,发送到与该应用程序相关联的数据库服务器中去执行。通过构造一些畸形的输入,攻击者能够操作这种请求语句去获取预先未知的结果。2.3 SQL注入技术特点 SQL注入攻击是目前网络攻击的主要手段之一,在一定程度上其安全风险高于缓冲区溢出漏洞,目前

26、防火墙不能对SQL注入漏洞进行有效地防范。防火墙为了使合法用户运行网络应用程序访问服务器端数据,必须允许从Internet到Web服务器的正向连接,因此一旦网络应用程序有注入漏洞,攻击者就可以直接访问数据库进而甚至能够获得数据库所在的服务器的访问权,因此在某些情况下,SQL注入攻击的风险要高于所有其他漏洞。SQL注入攻击具有以下特点:(1)广泛性。SQL注入攻击利用的是SQL语法,因此只要是利用SQL语法的Web应用程序如果未对输入的SQL语句做严格的处理都会存在SQL注入漏洞,目前以Active/Java Server Pages、 Cold Fusion Management、 PHP、P

27、erl等技术与SQL Server、Oracle、DB2、Sybase等数据库相结合的Web应用程序均发现存在SQL注入漏洞。(2)技术难度不高。SQL注入技术公布后,网络上先后出现了多款SQL注入工具,例如教主的HDSI、NBSI、明小子的Domain等,利用这些工具软件可以轻易地对存在SQL注入的网站或者Web应用程序实施攻击,并最终获取其计算器的控制权。(3)危害性大,SQL注入攻击成功后,轻者只是更改网站首页等数据,重者通过网络渗透等攻击技术,可以获取公司或者企业机密数据信息,产生重大经济损失。2.4 SQL注入技术原理2.4.1 SQL注入攻击实现原理 结构化查询语言(SQL)是一种

28、用来和数据库交互的文本语言,SQL Injection就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。SQL注入攻击主要是通过构建特殊的输入,这些输入往往是SQL语法中的一些组合,这些输入将作为参数传入Web应用程序,通过执行SQL语句而执行入侵者的想要的操作,下面以登录验证中的模块为例,说明SQL注入攻击的实现方法。在Web应用程序的登录验证程序中,一般有用户名(username)和密码(password)两个参数,程序会通过用户所提交输入的用户名和密

29、码来执行授权操作。其原理是通过查找user表中的用户名(username)和密码(password)的结果来进行授权访问,典型的SQL查询语句为:Select * from users where username=admin and password=smith如果分别给username和password赋值“admin or 1=1-”和“aaa”。 那么,SQL脚本解释器中的上述语句就会变为:select * from users where username=admin or 1=1- and password=aaa该语句中进行了两个判断,只要一个条件成立,则就会执行成功,而1=1在

30、逻辑判断上是恒成立的,后面的“”表示注释,即后面所有的语句为注释语句。同理通过在输入参数中构建SQL语法还可以删除数据库中的表,查询、插入和更新数据库中的数据等危险操作:(1)jo; drop table authors如果存在authors表则删除。(2) union select sum(username) from users从users表中查询出username的个数(3); insert into users values( 666, attacker, foobar, 0xffff )在user表中插入值(4) union select version,1,1,1查询数据库的版本(

31、5)exec master.xp_cmdshell dir通过xp_cmdshell来执行dir命令2.4.2 SQL注入攻击实现过程 SQL注入攻击可以手工进行,也可以通过SQL注入攻击辅助软件如HDSI、Domain、NBSI等,其实现过程可以归纳为以下几个阶段:(1)寻找SQL注入点;寻找SQL注入点的经典查找方法是在有参数传入的地方添加诸如“and 1=1”、“and 1=2”以及“”等一些特殊字符,通过浏览器所返回的错误信息来判断是否存在SQL注入,如果返回错误,则表明程序未对输入的数据进行处理,绝大部分情况下都能进行注入。(2)获取和验证SQL注入点;找到SQL注入点以后,需要进行

32、SQL注入点的判断,常常采用2.1中的语句来进行验证。(3)获取信息;获取信息是SQL注入中一个关键的部分,SQL注入中首先需要判断存在注入点的数据库是否支持多句查询、子查询、数据库用户账号、数据库用户权限。如果用户权限为sa,且数据库中存在xp_cmdshell存储过程,则可以直接转(4)。(4)实施直接控制;以SQL Server 2000为例,如果实施注入攻击的数据库是SQL Server 2000,且数据库用户为sa,则可以直接添加管理员账号、开放3389远程终端服务、生成文件等命令。(5)间接进行控制。间接控制主要是指通过SQL注入点不能执行DOS等命令,只能进行数据字段内容的猜测。在Web应用程序中,为了方便用户的维护,一般都提供了后台管理功能,其后台管理验证用户和口令都会保存在数据库中,通过猜测可以获取这

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

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