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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(xss跨站脚本攻击 毕业论文.docx)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

xss跨站脚本攻击 毕业论文.docx

1、深圳技师学院毕业设计(论文)论文题目 XSS 跨站脚本攻击学院 深圳技师学院专业 网络工程年级 网络技术 G-5姓名 指导教师 (年12月) 深圳技师学院XSS 攻击摘要XSS 又叫 CSS(Cross Site Script),跨站脚本攻击。跨站脚本攻击以访问服务器的客户端为攻击目标,通过恶意脚本向第三方站点发送用户的信息。跨站脚本攻击是继 SQL 注入攻击后最为常用的攻击手段。XSS 本质上是 Web 应用服务的漏洞,主要的攻击方法分别是在 Web 应用程序中偷 cookie、利用iframe 或 frame 存取管理页面或后台页面、利用 XMLHttpRequest 存取管理页面或后台页

2、面。关键字:XSS 攻击网络跨站脚本攻击AbstractXSS also called CSS (Cross Site Script), Cross Site scripting attack. Cross site scripting attacks in access server client for the attack target, through malicious script to a third party sites passes user information. Cross site scripting attack is the most commonly used

3、 SQL injection attack after the attack means. XSS is essentially a Web application service loophole, main method of assault respectively is in Web applications to steal cookie, using iframe or frame access management page or background page, utilization XMLHttpRequest access management page or backg

4、round page.Keyword: XSS attacksnetworkCross Site Scripting第 6 页 共 18 页目录摘要2一、背景41. 什么是 XSS 攻击42. XSS 攻击的危害43. XSS 的攻击方式44. XSS 漏洞的类型45. XSS 攻击漏洞5二、XSS 攻击实现61. 实施入侵72. 利用 XSS 盗取 COOKIES113. 上传文件进行 XSS 攻击12三、XSS 攻击的防御121. 基于特征的防御132. 基于代码修改的防御143. WEB 用户144. WEB 应用开发者145. 防御建议15总结16致谢16参考文献16附录16一、背景X

5、SS 攻击作为 Web 业务的最大威胁之一,不仅危害 Web 业务本身,对访问Web 业务的用户也会带来直接的影响,如何防范和阻止 XSS 攻击,保障 Web 站点的业务安全呢?首先我们就要了解什么是 XSS 攻击。1.什么是 XSS 攻击 XSS 又叫 CSS (Cross Site Script) ,跨站脚本攻击,为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆。故将跨站脚本攻击缩写为XSS。它是一种经常出现在 web 应用中的计算机安全漏洞,它允许恶意 web 用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括 HTML 代码和客户端脚本。攻

6、击者利用 XSS 漏洞旁路掉访问控制例如同源策略(same origin policy)。XSS 属于被动式的攻击,因为其被动且不好利用, 所以许多人常呼略其危害性。而事实上很多黑客在入侵服务器时使用的正是跨站脚本攻击。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击”,而 JavaScript 是新型的“Shell Code”。 2. XSS 攻击的危害1) 盗取各类用户账号,如机器登录账号、用户网银账号、各类管理员账号2) 控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力3) 盗窃企业重要的具有商业价值的资料4) 非法转账5) 强制发送电子邮件6) 网站挂马7

7、) 控制受害者机器向其它网站发起攻击3. XSS 的攻击方式跨站攻击有多种方式,由 HTML 语言允许使用脚本进行简单交互,入侵者便通过技术手段在某个页面里插入一个恶意 HTML 代码例如记录论坛保存的用户信息(Cookie),由于 Cookie 保存了完整的用户名和密码资料,用户就会遭受安全损失。当然,攻击者有时也会在网页中加入一些以.JS 或.VBS 为后尾名的代码时,在我们浏览时,同样我们也会被攻击到。4. XSS 漏洞的类型XSS 漏洞按照攻击利用手法的不同,有以下三种类型: 类型 1,本地利用漏洞,这种漏洞存在于页面中客户端脚本自身。其攻击过程如下所示: A 给 B 发送一个恶意构造

8、了 Web 的 URL。B 点击并查看了这个 URL。 恶意页面中的 JavaScript 打开一个具有漏洞的 HTML 页面并将其安装在 B电脑上。 具有漏洞的 HTML 页面包含了在 B 电脑本地域执行的 JavaScript。A 的恶意脚本可以在 B 的电脑上执行 B 所持有的权限下的命令。 类型 2,反射式漏洞,这种漏洞和类型 1 有些类似,不同的是 Web 客户端使用 Server 端脚本生成页面为用户提供数据时,如果未经验证的用户数据被包含在页面中而未经 HTML 实体编码,客户端代码便能够注入到动态页面中。其攻击过程如下: A 经常浏览某个网站,此网站为 B 所拥有。B 的站点运

9、行 A 使用的用户名/密码进行登录,并存储敏感信息(比如银行账户信息)。 C 发现 B 的站点包含反射性的 XSS 漏洞。 C 编写一个利用漏洞的 URL,并将其冒充为来自 B 的邮件发送给 A。A 在登录到 B 的站点后,浏览 C 提供的 URL。 嵌入到 URL 中的恶意脚本在 A 的浏览器中执行,就像它直接来自 B 的服务器一样。此脚本盗窃敏感信息(授权、信用卡、账号信息等)然后在 A 完全不知情的情况下将这些信息发送到 C 的 Web 站点。 类型 3,存储式漏洞,该类型是应用最为广泛而且有可能影响到 Web 服务器自身安全的漏洞,骇客将攻击脚本上传到 Web 服务器上,使得所有访问该

10、页面的用户都面临信息泄漏的可能,其中也包括了 Web 服务器的管理员。其攻击过程如下: B 拥有一个 Web 站点,该站点允许用户发布信息/浏览已发布的信息。C 注意到 B 的站点具有类型 3 的 XXS 漏洞。 C 发布一个热点信息,吸引其它用户纷纷阅读。 B 或者是任何的其他人如 A 浏览该信息,其会话 cookies 或者其它信息将被 C 盗走。 类型 1 直接威胁用户个体,而类型 2 和类型 3 所威胁的对象都是企业级 Web 应用,目前天清入侵防御产品所能防范的 XSS 攻击包括类型 2 和类型 3。 5. XSS 攻击漏洞XSS 攻击分成两类,一类是来自内部的攻击,主要指的是利用程

11、序自身的漏洞,构造跨站语句,如:dvbbs 的 showerror.asp 存在的跨站漏洞。另一类则是来自外部的攻击,主要指的自己构造 XSS 跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开。总结一下几个可能会出现漏洞的地方: 1、搜索引擎 2、留言板 3、错误页面 4、通过在上面那些类型的页面输入一些特殊的字符(包括 / ),如:,然后在结果页中的源码处搜索是否存在原样的:,如果存 在,恭喜你,发现了一个 XSS 漏洞。二、XSS 攻击实现 XSS 攻

12、击的过程涉及以下三方:攻击者、受害者、存在漏洞的网站(攻击者可以使用它对受害者采取行动).在这三方之中,只有受害者会实际运行攻击者的代码。网站仅仅是发起攻击的一个载体,一般不会受到影响。可以用多种方式发起 XSS 攻击。XSS 允许攻击者通过利用因特网服务器的漏洞来发送恶意代码到其他用户。攻击者利用 XSS 攻击向那些看似可信任的链接中注入恶意代码。当用户点击了链接后,内嵌的程序将被提交并且会在用户的电脑上执行,这会使黑客获取访问权限并偷走敏感数据。攻击者使用 XSS 来攻击受害者机器上的漏洞并且传输恶意代码而不是攻击系统本身。 通过用户输入的数据返回错误消息的 Web 表格, 攻击者可以修改

13、控制 Web 页面的 HTML 代码。黑客能够在垃圾信息中的链接里插入代码或者使用欺诈邮件来诱使用户对其身份产生信任。 例如攻击者可以发送带有 URL 的邮件给受害人,这个 URL 指向一个 Web 站点并且提供浏览器脚本作为输入;或者在博客或诸如 Facebook、Twitter 这样的社交网站上发布恶意 URL 链接。当用户点击这个链接时,该恶意站点以及脚本将会在其浏览器上运行。浏览器不知道脚本是恶意的并将盲目地运行这个程序,这转而允许攻击者的浏览器脚本使用站点的功能来窃取 cookie 或者冒充合法的用户来完成交易。XSS 攻击数据流程:前面我们已经了解 XSS 的基本概念和类型,这里看

14、看如何进行攻击。先总结一下常见的 XSS 攻击手法:1 依赖跨站漏洞,需要在被攻击网站的页面种入 XSS 脚本的手法XSS 攻击Cookie 盗取,通过 JavaScript 获取被攻击网站种下的 cookie,并发送给攻击者。Comment it1: 数字.2.2 模拟用户完成多页表单。.2.1 从 ajex 结果中获取隐私。.2 Ajex 信息盗取,通过 JavaScript 发起 ajex 请求。.1.2. 利用 cookie 伪造 session,发起重放攻击1.1.1 从 cookie 中提取密码等隐私1111cript.src 的方法发起跨站访问并拿到服务器的返回值。.2双向 HT

15、TP动作,如果服务器产生一段动态的 script,那么可以用权操作。但是很难拿到服务器的返回值。.1 单向 HTTP 动作,通过 img.src 等方法发起跨站访问,冒充被攻击者执行2 不依赖跨站漏洞的 XSS 攻击手法2特2s1. 实施入侵跨站脚本攻击最典型的形式就是在网站有发表帖子和评论等处使用精心构造的 HTML 代码提交数据,从而达到恶意攻击的目的。举个例子如下实验过程图, 在某网站发表评论,其中用户名、标题、内容等可尝试填写代码:alert(XSS) 。增加“留言”后,当管理员查看留言时, 浏览器会自动弹出消息警告框“XSS”,这就表明留言主题处的程序代码没有对 主题变量参数进行任何

16、安全处理,很可能存在跨站漏洞。这就是典型的跨站脚本攻击示例。当然跨站攻击远不止弹出一个警告框这 么简单。黑客可以充分利用留言簿程序漏洞,提交经过精心构造的代码,然后 欺骗管理员访问,从而达到盗取管理员 Cookie、提升权限等各种恶意目的。首先在虚拟机设置相关服务,网站名:(1) DNS 服务器创建”正向区域,创建 主机(对应本机 IP 地址 192.168.66.253),并创建 相关的反向区域及添加相应的记录。(2) 创建 WEB 网站,站点的 IP 地址为 192.168.66.253,端口号为 80站点属性如下:第 7 页 共 18 页XSS 攻击图 1通过 NSLOOKUP 命令可以

17、正确的解析 (包括正向和反向解析), 命令执行结果画面如下:图 2第 18 页 共 18 页在 IE 浏览器中,使用 192.168.66.253 访问 WEB 站点,结果如下:图 3在 IE 浏览器中,使用 访问 WEB 站点,结果如下:图 4在主机(IP 地址为 192.168.66.22)上 Ping 虚拟机(IP 地址为192.168.66.253)测试连通性,结果如下:图 5在 IE 浏览器中,使用 访问 WEB 站点,结果如下:图 6向网页代码中嵌入以下代码,则弹出一对话框alert(miss)iframe图 7结论:以上实验效果简单,但跨站攻击远不止实验效果这么简单。黑客可以充分

18、利用留言簿程序漏洞,提交经过精心构造的代码,然后欺骗管理员访问,从而达到盗取管理员 Cookie、提升权限等各种恶意目的。2. 利用 XSS 盗取 cookies 在一个有漏洞的页面插入下面的代码,例如一个留言本里 window.open(http:/www.H e); (www.H = 攻击者的网站) 用记事本新建文件: cookie.php,把下面的代码拷贝到文件里来。 Error Error - Access denied for 这样是仅仅不够的,还要去等待收到电子邮件,阅读读盗取到的cookie。 3. 上传文件进行 XSS 攻击在画图工具里创建一个 Haxored.gif 图片,然

19、后用记事本打开它,删除所有行并插入下面的内容:GIF89aalert(XSS) 保存并关闭它。 然后把 Haxored.gif 上传到一个免费的图片网站上,再查看你的图片,XSS 就产生了不要用 Mozillia Firefox 来浏览图片,因为 Mozillia Firefox 不能运行该脚本,该攻击适用于 Internet explorer 浏览器。 为什么在脚本前面添加 GIF89a 呢?一般上传图片会这样的,在各个.gif 文件中检查是否包含GIF89a代码。这个通过检查文件 GIF89a 代码对上传结果进行确认的漏洞,并没有检查图片里的恶意代码。 GIF89ascript src=

20、要了解其他图片格式的文件代码,只需要使用文件编辑器打开.jpg 及其它格式的图片就可以知道了,例如一个 png 格式的文件:PNGPNG = PNG GIF = GIF89aJPG = JFIF BMP = BMF为了安全不能仅仅依靠 getimagesize()函数来检查图片。三、XSS 攻击的防御 XSS 攻击防范主要是有程序漏洞造成的,要完全防止 XSS 安全漏洞主要依靠程序员较高的编程能力和安全意识,当然一些编程安全原则可以帮助大大减少 XSS 安全漏洞。目前对 XSS 漏洞的防御一般有两种方式。 第一种方式就是代码修改,对用户所有提交内容进行验证,包括 URL、查询关键字、HTTP

21、头、POST 数据等。而且仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。接下来就是实现 Session标记、CAPTCHA 系统或者 HTTP 引用头检查,以防功能被第三方网站所执行。最后一步就是确认接收的内容被妥善地规范化,仅包含最小的、安全的标记,去掉任何对远程内容的引用,使用 HTTP 的 Cookie。不过,这种方法将降低 Web 业务的交互能力,用户仅能提交少量指定的字符,不适应那些交互性要求较高的业务系统。而且 Web 业务的编码人员很少有受过正规的安全培训,即便是专业的安全公司,由于侧重点的不同,也很难完全避免 XSS。2008 年 1 月,

22、的一份报告指出:McAfee、 Symantec、VeriSign 这三家安全公司的官方站点存在约 30 个 XSS 漏洞。 第二种方式就是部署专业的防御设备,目前较为流行的有入侵防御产品, 利用的就是入侵防御产品对应用层攻击的检测防御能力。用户在选择相应的产品之前,最好先了解一下相关产品的 XSS、SQL 注入等 Web 威胁的检测方式。有一些入侵防御产品采用的还是传统的特征匹配方法,如对经典的 XSS 攻击 IMG SRC=JavaScript: alert(XSS);来说,就是定义“JavaScript”这个关键字进行检索,一旦发现提交信息中包含 “JavaScript”,就认定为 XS

23、S攻击。 1. 基于特征的防御 XSS 漏洞和著名的 SQL 注入漏洞一样,都是利用了 Web 页面的编写不完善, 所以每一个漏洞所利用和针对的弱点都不尽相同。这就给 XSS 漏洞防御带来了困难:不可能以单一特征来概括所有 XSS 攻击。 传统 XSS 防御多采用特征匹配方式,在所有提交的信息中都进行匹配检查。对于这种类型的 XSS 攻击,采用的模式匹配方法一般会需要对“javascript” 这个关键字进行检索,一旦发现提交信息中包含“javascript”,就认定为XSS 攻击。这种检测方法的缺陷显而易见:骇客可以通过插入字符或完全编码的方式躲避检测: 躲避方法 1)在 javascrip

24、t 中加入多个 tab 键,得到 ; 躲避方法 2) 在 javascript 中加入 编码字符,得到 ; 躲避方法 3) 在 javascript 中加入 字符,得到 ; 躲避方法 4)在 javascript 中的每个字符间加入回车换行符,得到 躲避方法 5)对javascript:alert(XSS)采用完全编码,得到 上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的 还存在大量的误报可能:在上面的例子中,对 URL,由于包含了关键字“javascript”,也将会触发报警。 2. 基于代码修改的防御 和 SQL 注入防御一样,XSS 攻击也是利用了

25、 Web 页面的编写疏忽,所以还有一种方法就是从 Web 应用开发的角度来避免: 步骤 1、对所有用户提交内容进行可靠的输入验证,包括对 URL、查询关键字、HTTP 头、POST 数据等,仅接受指定长度范围内、采用适当格式、采用所预期的字符的内容提交,对其他的一律过滤。 步骤 2、实现 Session 标记(session tokens)、CAPTCHA 系统或者 HTTP 引用头检查,以防功能被第三方网站所执行。 步骤 3、确认接收的的内容被妥善的规范化,仅包含最小的、安全的Tag(没有 javascript),去掉任何对远程内容的引用(尤其是样式表和javascript),使用 HTTP

26、 only 的 cookie。 当然,如上操作将会降低 Web 业务系统的可用性,用户仅能输入少量的制定字符,人与系统间的交互被降到极致,仅适用于信息发布型站点。并且考虑到很少有 Web 编码人员受过正规的安全培训,很难做到完全避免页面中的 XSS 漏洞3. web 用户 1. 在电子邮件或者即时通讯软件中点击链接时需要格外小心:留心可疑的过长链接,尤其是它们看上去包含了 HTML 代码。如果对其产生怀疑,可以在浏览器地址栏中手工输入域名,而后通过该页面中的链接浏览你所要的信息。 2. 对于 XSS 漏洞,没有哪种 web 浏览器具有明显的安全优势。也就是Firefox 也同样不安全。为了获得更多的安全性,可以安装一些浏览器插件: 比如 Firefox 的 NoScript 或者 Netcraft 工具条。 3. 世界上没有“100%的有效”。尽量避免访问有问题的站点:比如提供hack 信息和工具、破解软件、成人照片的网站。这些类型的网站会利用浏览器漏洞并危害操作系统。 4. web

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2