第9章Web攻击及防御技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第9章Web攻击及防御技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 攻击 防御 技术 课件
- 资源描述:
-
1、网络入侵与防范讲义1第第9 9章章 WebWeb攻击及防御技术攻击及防御技术2022-12-4网络入侵与防范讲义2本章内容安排本章内容安排o 9.1 Web安全概述安全概述o 9.2 Web服务器指纹识别服务器指纹识别o 9.3 Web页面盗窃及防御页面盗窃及防御o 9.4 跨站脚本攻击及防御跨站脚本攻击及防御o 9.5 SQL注入攻击及防御注入攻击及防御o 9.6 Google Hackingo 9.7 网页验证码网页验证码o 9.8 防御防御Web攻击攻击o 9.9 小结小结2022-12-4网络入侵与防范讲义39.1 Web安全概述安全概述o Web安全面临的挑战日益严峻。安全风险安全面
2、临的挑战日益严峻。安全风险达到了前所未有的高度。达到了前所未有的高度。o Web安全可以从以下三个方面进行考虑:安全可以从以下三个方面进行考虑:n Web服务器的安全n Web客户端的安全n Web通信信道的安全2022-12-4网络入侵与防范讲义4Web服务器的安全服务器的安全o 针对针对Web服务器的攻击可以分为两类:服务器的攻击可以分为两类:n 一是利用Web服务器的漏洞进行攻击,如IIS缓冲区溢出漏洞利用、目录遍历漏洞利用等;n 二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等。2022-12-4网络入侵与防范讲义5Web服务器的安全服务器的安全(2)o 针对针对Web
3、服务器具体的安全威胁主要体现在以下几个服务器具体的安全威胁主要体现在以下几个方面:方面:n服务器程序编写不当导致的缓冲区溢出(Buffer Overflow)并由此导致远程代码执行。n针对服务器系统的拒绝服务攻击(Denial of Service)。n脚本程序编写不当、过滤不严格造成的数据库查询语句注入(SQL Injection),可能引起信息泄漏、文件越权下载、验证绕过、远程代码执行等。n乐观相信用户输入、过滤不严导致跨站脚本攻击(Cross Site Script),在欺骗管理员的前提下,通过精心设计的脚本获得服务端Shell。2022-12-4网络入侵与防范讲义6Web客户端的安全客
4、户端的安全o Web应用的普及,客户端交互能力获得了应用的普及,客户端交互能力获得了极为充分的发挥,客户端的安全也成为极为充分的发挥,客户端的安全也成为Web安全的焦点问题。安全的焦点问题。o Java Applet、ActiveX、Cookie等技等技术大量被使用,当用户使用浏览器查看、编术大量被使用,当用户使用浏览器查看、编辑网络内容时,采用了这些技术的应用程序辑网络内容时,采用了这些技术的应用程序会自动下载并在客户机上运行,如果这些程会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户序被恶意使用,可以窃取、改变或删除客户机上的信息。机上的信息。2022-12-4
5、网络入侵与防范讲义7Web客户端的安全客户端的安全(2)o 浏览网页所使用的浏览器存在众多已知或者浏览网页所使用的浏览器存在众多已知或者未知的漏洞,攻击者可以写一个利用某个漏未知的漏洞,攻击者可以写一个利用某个漏洞的网页,并洞的网页,并挂上木马挂上木马,当用户访问了这个,当用户访问了这个网页之后,就中了木马。这就是网页木马,网页之后,就中了木马。这就是网页木马,简称网马。简称网马。o 跨站脚本攻击跨站脚本攻击(XSS)对于客户端的安全威对于客户端的安全威胁同样无法忽视,利用胁同样无法忽视,利用XSS的的Web蠕虫已蠕虫已经在网络中肆虐过。经在网络中肆虐过。2022-12-4网络入侵与防范讲义8
6、Web通信信道的安全通信信道的安全o 和其他的和其他的Internet应用一样,应用一样,Web信道同信道同样面临着样面临着网络嗅探网络嗅探和以拥塞信道、耗费资源和以拥塞信道、耗费资源为目的的为目的的拒绝服务拒绝服务攻击的威胁。攻击的威胁。2022-12-4网络入侵与防范讲义99.1 Web安全概述安全概述o OWASP的调查结果显示,对的调查结果显示,对Web应用危害较大的安应用危害较大的安全问题分别是:全问题分别是:n未验证参数n访问控制缺陷n账户及会话管理缺陷n跨站脚本攻击n缓冲区溢出n命令注入n错误处理n远程管理nWeb服务器及应用服务器配置不当2022-12-4网络入侵与防范讲义10
7、9.2 Web服务器指纹识别服务器指纹识别o 9.2.1 指纹识别理论指纹识别理论o 9.2.2 Web服务器指纹介绍服务器指纹介绍o 9.2.3 Web服务器服务器Banner信息获取信息获取o 9.2.4 模糊模糊Web服务器服务器Banner信息信息o 9.2.5 Web服务器协议行为服务器协议行为o 9.2.6 Http指纹识别工具指纹识别工具2022-12-4网络入侵与防范讲义119.2.1 指纹识别理论指纹识别理论o 指纹的定义是这样的:指纹的定义是这样的:n 一是指任何表面上的指尖印象或者是在指尖上蘸上墨水而在纸上留下的墨水印象;n 二是指可以用来识别的东西:如特色、痕迹或特性等
8、揭露起源的东西,表示物体或物质的特色的证据。2022-12-4网络入侵与防范讲义12指纹识别理论指纹识别理论(2)o 指纹识别可以分为两步:指纹识别可以分为两步:n 第一步是对指纹进行收集和分类;n 第二步是将未知的指纹同被储存在数据库中的指纹进行比较,从而找出最符合的。2022-12-4网络入侵与防范讲义13指纹识别理论指纹识别理论(3)o 当采集指纹的时候,对物体的所有主要特性当采集指纹的时候,对物体的所有主要特性的抓取是必要的。采集较多的细节,可以对的抓取是必要的。采集较多的细节,可以对指纹识别的第二步产生很大的帮助。指纹识别的第二步产生很大的帮助。o 当比较指纹的时候,很有可能有几个指
9、纹是当比较指纹的时候,很有可能有几个指纹是被不合适匹配的,因为指纹之间微小的差别被不合适匹配的,因为指纹之间微小的差别很容易使识别产生错误,这也要求指纹识别很容易使识别产生错误,这也要求指纹识别需要很高的技术。需要很高的技术。2022-12-4网络入侵与防范讲义149.2.2 Web服务器指纹介绍服务器指纹介绍o Web服务器指纹:这个概念应用在服务器指纹:这个概念应用在Web服服务器上,就是通过对服务器上的务器上,就是通过对服务器上的HTTP应用程应用程序安装和配置等信息进行远程刺探,从而了序安装和配置等信息进行远程刺探,从而了解远程解远程Web服务器的配置信息,然后根据不服务器的配置信息,
10、然后根据不同版本的同版本的Web服务器进行有目的的攻击。服务器进行有目的的攻击。o 这一步骤是这一步骤是web应用攻击的基础过程。应用攻击的基础过程。2022-12-4网络入侵与防范讲义15Web服务器指纹介绍服务器指纹介绍(2)o Http指纹识别的原理大致上也是相同的:记录指纹识别的原理大致上也是相同的:记录不同服务器对不同服务器对Http协议执行中的微小差别进行协议执行中的微小差别进行识别。识别。o Http指纹识别比指纹识别比TCP/IP堆栈指纹识别复杂许堆栈指纹识别复杂许多,理由是定制多,理由是定制Http服务器的配置文件、增加服务器的配置文件、增加插件或组件使得更改插件或组件使得更
11、改Http的响应信息变的很容的响应信息变的很容易,这样使得识别变的困难;然而定制易,这样使得识别变的困难;然而定制TCP/IP堆栈的行为需要对核心层进行修改,堆栈的行为需要对核心层进行修改,所以就容易识别。所以就容易识别。2022-12-4网络入侵与防范讲义169.2.3 Web服务器服务器Banner信息获取信息获取o Banner:旗标,或标头。这里指获取:旗标,或标头。这里指获取web服务器的版本、欢迎语或其它提示信服务器的版本、欢迎语或其它提示信息,以找出可能的有利于攻击的内容。息,以找出可能的有利于攻击的内容。o 可以通过一个可以通过一个TCP客户端比如客户端比如NetCat(NC)
12、或者或者telnet与与web服务器进行连接,并查服务器进行连接,并查看返回的应答信息。看返回的应答信息。2022-12-4网络入侵与防范讲义17telnet到到80端口获得指纹信息端口获得指纹信息o C:telnet 80 Geto 返回结果:返回结果:oHTTP/1.1 400 Bad RequestServer:Microsoft-IIS/5.0Date:Fri,05 Sep 2003 02:57:39 GMTContent-Type:text/htmlContent-Length:87ErrorThe parameter is incorrect.2022-12-4网络入侵与防范讲义1
13、8telnet到到80端口获得指纹信息端口获得指纹信息(2)o 注意到下划线标记的信息,很清楚的告诉我注意到下划线标记的信息,很清楚的告诉我们运行的们运行的web服务器版本是服务器版本是Microsoft-IIS/5.0。2022-12-4网络入侵与防范讲义199.2.3 Web服务器服务器Banner信息获取信息获取o 以以NetCat(“瑞士军刀瑞士军刀”)为例,探测网)为例,探测网站的站的Banner信息,参数为:信息,参数为:Options*http/1.12022-12-4网络入侵与防范讲义20获得获得Apache2.0.x指纹指纹o sh-2.05b#nc 80OPTIONS*HT
14、TP/1.1o Host:HTTP/1.1 200 OKDate:Fri,05 Sep 2003 02:08:45 GMTServer:Apache/2.0.40(Red Hat Linux)Allow:GET,HEAD,POST,OPTIONS,TRACEContent-Length:0Content-Type:text/plain;charset=ISO-8859-12022-12-4网络入侵与防范讲义21不同服务器的指纹比较不同服务器的指纹比较o 通过通过Apache2.0.x和和IIS5.0指纹的比指纹的比较,能够很清楚判断出不同服务器返回的较,能够很清楚判断出不同服务器返回的信息的不
15、同。信息的不同。o 当攻击者获得了这些指纹信息后,就可以当攻击者获得了这些指纹信息后,就可以针对不同的服务器,利用它们的漏洞进行针对不同的服务器,利用它们的漏洞进行有目的的攻击了。有目的的攻击了。2022-12-4网络入侵与防范讲义229.2.4 模糊模糊Web服务器服务器Banner信息信息o 为了防范查看为了防范查看Http应答头信息来识别应答头信息来识别Http指纹的行为,可以选择通过下面两种方法来指纹的行为,可以选择通过下面两种方法来更改或者是模糊服务器的更改或者是模糊服务器的Banner信息:信息:n 自定义Http应答头信息n 增加插件o 这样设置可以自动的阻止很多对这样设置可以自
16、动的阻止很多对Http服务服务器的攻击,有时也可以误导攻击者。器的攻击,有时也可以误导攻击者。2022-12-4网络入侵与防范讲义23自定义自定义HTTP应答头信息应答头信息o 要让服务器返回不同的要让服务器返回不同的Banner信息的设置信息的设置是很简单的,象是很简单的,象Apache这样的开放源代这样的开放源代码的码的Http服务器,用户可以在源代码里修服务器,用户可以在源代码里修改改Banner信息,然后重起信息,然后重起Http服务就生服务就生效了。效了。o 对于没有公开源代码的对于没有公开源代码的Http服务器比如微服务器比如微软的软的IIS或者是或者是Netscape,可以在存放
17、,可以在存放Banner信息的信息的Dll文件中修改。文件中修改。2022-12-4网络入侵与防范讲义24自定义自定义HTTP应答头信息应答头信息实例实例o 下面就是一个被自定义下面就是一个被自定义Banner信息的信息的Http服务器的例子,服务器的例子,Apache服务器被自定义成了服务器被自定义成了未知服务器:未知服务器:Http/1.1403ForbiddenDate:Mon,08Sep200302:41:27GMTServer:Unknown-Webserver/1.0Connection:closeContent-Type:text/html;charset=iso-8859-12
18、022-12-4网络入侵与防范讲义25使用插件使用插件o 另一种模糊另一种模糊Banner信息的方法是使用插件,这些插件信息的方法是使用插件,这些插件可以提供自定义的可以提供自定义的Http应答信息。应答信息。o 比如比如ServerMask这个商业软件就可以提供这样的功这个商业软件就可以提供这样的功能,它是能,它是IIS服务器的一个插件,服务器的一个插件,ServerMask不仅不仅模糊了模糊了Banner信息,而且会对信息,而且会对Http应答头信息里的应答头信息里的项的序列进行重新组合,从而来模仿项的序列进行重新组合,从而来模仿Apache这样的这样的服务器,它甚至有能力扮演成任何一个服
19、务器,它甚至有能力扮演成任何一个Http服务器来服务器来处理每一个请求。处理每一个请求。2022-12-4网络入侵与防范讲义26使用插件使用插件实例实例o 下面是一个使用了下面是一个使用了ServerMask插件的插件的IIS服务器服务器的例子:的例子:Http/1.1200OKServer:YesweareusingServerMask Date:Mon,08Sep200302:54:17GMTConnection:Keep-AliveContent-Length:18273Content-Type:text/htmlSet-Cookie:Itworksoncookiestoo=82.3S3
20、.O12.NT2R0RE,4147ON3P,.4OO.;path=/Cache-control:private2022-12-4网络入侵与防范讲义279.2.5 Web服务器协议行为服务器协议行为o 在执行在执行Http协议时,几乎所有的协议时,几乎所有的Http服务服务器都具有它们独特的方法,如果器都具有它们独特的方法,如果Http请求请求是合法并且规则的,是合法并且规则的,Http服务器返回的应服务器返回的应答信息是符合答信息是符合RFC里的描述的。里的描述的。o 但是如果我们发送畸形的但是如果我们发送畸形的Http请求,这些请求,这些服务器的响应信息就不同了,不同服务器对服务器的响应信息
21、就不同了,不同服务器对Http协议行为表现的不同就是协议行为表现的不同就是Http指纹识指纹识别技术的基本根据和原理。别技术的基本根据和原理。2022-12-4网络入侵与防范讲义28协议行为分析实例协议行为分析实例o 继续来用实例说明。分析继续来用实例说明。分析3种不同种不同Http服务对不服务对不同请求所返回的响应信息,这些请求是这样的:同请求所返回的响应信息,这些请求是这样的:n1:HEAD/Http/1.0发送基本的Http请求n2:DELETE/Http/1.0发送不被允许的请求,如Delete请求n3:GET/Http/3.0发送一个非法版本的Http协议请求n4:GET/JUNK/
22、1.0发送一个不正确规格的Http协议请求2022-12-4网络入侵与防范讲义29Exp1:基本的:基本的Http请求请求o 先发送请求先发送请求HEAD/Http/1.0,然后分,然后分析析Http响应头里的信息,对头信息里项的响应头里的信息,对头信息里项的排序进行分析。发送的请求命令如下:排序进行分析。发送的请求命令如下:C:nc 80HEAD/Http/1.0o 三个服务器的响应信息参见下面。三个服务器的响应信息参见下面。o 比较结果:比较结果:Apache头信息里的头信息里的Server和和Date项的排序是不同的。项的排序是不同的。2022-12-4网络入侵与防范讲义30Apache
23、1.3.23o Http/1.1200OKDate:Mon,08Sep17:10:49GMTServer:Apache/1.3.23Last-Modified:Thu,27Feb200303:48:19GMTETag:32417-c4-3e5d8a83Accept-Ranges:bytesContent-Length:196Connection:closeContent-Type:text/html2022-12-4网络入侵与防范讲义31IIS5.0o Http/1.1200OKServer:Microsoft-IIS/5.0Content-Location:Date:Mon,08Sep20:
24、13:52GMTContent-Type:text/htmlAccept-Ranges:bytesLast-Modified:Mon,08Sep200310:10:50GMTETag:W/e0d362a4c335be1:ae1Content-Length:1332022-12-4网络入侵与防范讲义32NetscapeEnterprise4.1o Http/1.1200OKServer:Netscape-Enterprise/4.1Date:Mon,08Sep200306:01:40GMTContent-type:text/htmlLast-modified:Mon,08Sep200301:37
25、:56GMTContent-length:57Accept-ranges:bytesConnection:close2022-12-4网络入侵与防范讲义33Exp2:HttpDELETE请求请求o 发送发送DELETE/Http/1.0请求,分析不同请求,分析不同Http服务服务器对非法请求的应答信息的不同。器对非法请求的应答信息的不同。o 发送的请求命令:发送的请求命令:C:nc 80DELETE/Http/1.0o 三个服务器的响应信息参见下面三页。三个服务器的响应信息参见下面三页。o 比较结果:比较结果:nApache响应的是“405MethodNotAllowed”,nIIS响应的是“
展开阅读全文