收藏 分销(赏)

跨站脚本攻击与防范研究.pdf

上传人:自信****多点 文档编号:647758 上传时间:2024-01-23 格式:PDF 页数:5 大小:1.24MB
下载 相关 举报
跨站脚本攻击与防范研究.pdf_第1页
第1页 / 共5页
跨站脚本攻击与防范研究.pdf_第2页
第2页 / 共5页
跨站脚本攻击与防范研究.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、第 13 期2023 年 7 月无线互联科技Wireless Internet TechnologyNo.13July,2023基金项目:跨站脚本攻击原理与利用分析;项目编号:103952022110。作者简介:张雨锋(2002),男,天津人,本科生;研究方向:信息安全。通信作者:王炅(1980),男,江西九江人,副教授,硕士;研究方向:网络与信息安全。跨站脚本攻击与防范研究张雨锋,王 炅(闽江学院 计算机与控制工程学院,福建 福州 350108)摘要:随着互联网的快速发展,越来越多的 Web 应用漏洞不断涌现,这对互联网安全造成了很大的威胁。其中,跨站脚本漏洞在 Web 漏洞中尤为常见,根据

2、这一漏洞,跨站脚本攻击得以实现。这种攻击可以将恶意代码植入特定的网页,从而破坏系统的安全性。跨站脚本攻击具有匿名性、易操作、难以检测等特点,是当前互联网上比较常见的攻击手段之一。文章基于 Web 的环境探讨跨站脚本攻击问题,研究跨站脚本攻击的攻击原理,根据不同的类别分析漏洞成因,研究这类攻击的危害和影响,根据攻击特点提出相应的预防措施。关键词:Web 应用安全;跨站脚本;攻击原理与漏洞成因中图分类号:TP393.08 文献标志码:A0 引言 近十年来,我国互联网行业经历了蓬勃发展的阶段。随着用户数量的不断增加,互联网技术的创新、数字经济的发展以及政府数字化建设方面的技术水平也得到了显著提升。随

3、着互联网的不断发展,越来越多的用户加入网络社会中,各类互联网应用不断涌现,互联网凝聚了全世界最为庞大的用户群体。近年来,随着社交网络、微博等一系列社交软件以及其他互联网应用的不断涌现,Web 环境上的互联网应用已经得到广泛应用。然而,由于 Web 应用程序的广泛使用,跨站脚本攻击(XSS 攻击)已成为一种常见的网络安全问题。攻击者可以在 Web 应用程序中注入 JavaScript脚本或 HTML 标签等代码,从而利用用户的信任,欺骗受害者执行恶意脚本。这种跨站脚本攻击(Cross-Site Scripting,简称 XSS)不仅可以导致用户的个人信息被盗取,还可以使网站遭受瘫痪等严重后果。X

4、SS攻击具有易于实施、难以检测等特点,成了当前 Web应用程序中一种常见的网络安全问题。1 跨站脚本攻击问题现状 跨站脚本攻击是当前 Web 漏洞中危害性和影响最大的一种攻击手段。在当前的互联网安全领域中,XSS 攻击成了一个备受关注的热点问题。由于互联网不断的发展和安全问题的不断涌现,根据目前国家信息安全漏洞库现有数据显示,自2016年 7 月起已经发现和收集了 9 401 个 XSS 漏洞,2011年至今共新增了 3 801 个。在开放式 Web 应用程序安全项目的 2007 年到 2013 年报告中,XSS 漏洞曾有3 次位列前三。随着互联网应用的不断发展,XSS 攻击已经变得越来越普遍

5、且难以检测。因此,研究跨站脚本攻击的原理和利用变得尤为重要。如何检测并预防 XSS 漏洞问题已经成了 Web 安全领域的重要问题。2 跨站脚本漏洞原理 Cross-Site Scripting,可译为“跨站脚本”或“层叠样式表”。由于可能会存在缩写混淆的问题,故跨站脚本攻击另缩写为 XSS1。这是一种可以导致网页应用程序出现问题的安全漏洞攻击方式。XSS 攻击旨在攻击并破坏网络安全,它会在网络中植入各种巧妙的恶意指令并使其进入网页,让用户进行加载并执行。虽然这些执行恶意的网页程序大多数 是 JavaScript,但 在 Java、VBScript、LiveScript、ActiveX、Flas

6、h 与 HTML 中也可以执行。在攻击成功后,攻击方有一定可能会获得一些权限,这些权限可以授权攻击者执行一些操作,比如浏览私密内容,也可能直接影响用户的浏览体验,这一行为将会破坏931第 13 期2023 年 7 月无线互联科技网络互联No.13July,2023安全系统的稳定性和安全性,给个人或社会造成损失。3 XSS 类型与漏洞成因分析3.1 XSS 类型 XSS 可以被划分为几种不同的类型,其中包括:非持久性型(反射型)XSS、持久型(存储型)XSS、通用型 XSS 以及突变型 XSS2。3.2 反射型 XSS 反射型 XSS 攻击是一种利用应用程序反射用户输入并将恶意脚本反映到浏览器中

7、的攻击方式。攻击者会将恶意代码注入 URL 参数或表单中,当用户访问包含该参数或表单的页面时,恶意脚本就会被执行。攻击者通常通过诱导用户访问包含恶意脚本的URL 来实现攻击。举个例子,如果用户在不加防范的情况下将用户名设置为alert(Tz),那么在访问特定页面时,这段代码就会被反射到浏览器中并执行。这种攻击可以导致各种安全问题,例如窃取用户的敏感信息或篡改页面内容。漏洞成因:XSS 漏洞通常发生在应用程序将未经处理的用户输入或用户可控参数输出到页面上的情况下,以下是一些主要的场景。(1)将不可信数据插入 HTML 标签之间时;将不可信数据插入 HTML 属性里时;将不可信数据插入SCRIPT

8、 里时3。(2)将不可信数据插入 Style 属性里的情况,同样具有一定的危害性。(3)将不可信数据插入 HTML URL 里时。(4)使用富文本时,并未采用 XSS 规则引擎来实现编码过滤。对于以上的几个场景,若服务端或者前端没有做好防范措施,就会出现漏洞隐患。反射型 XSS 攻击通常可以利用搜索和其他应用程序功能,但相对于存储型 XSS 攻击,它的安全性较低。这是因为反射型 XSS 攻击需要用户点击相关链接才能被触发,而且现代浏览器的内置 XSS 保护程序和防御措施(如 NoScript)可以减少其威胁。尽管如此,反射型 XSS 攻击仍然可能导致用户信息泄露和身份盗窃等严重问题。3.3 存

9、储型 XSS 持久型 XSS 攻击通常是通过社交网络和 Web 文档等方式实现的 HTML 注入。与反射型 XSS 攻击不同的是,持久型 XSS 攻击不需要任何特定的链接来传播。它将恶意代码嵌入目标网站的数据库中,从而在其他用户访问该网站时自动执行。这种攻击技术的优势在于,它只需要感染一次就可以影响到许多用户。持久型 XSS 攻击可能出现在多种网络环境中,例如博客评论、用户评论、留言板、社交媒体、HTML 电子邮件等。当用户访问被感染的网站时,恶意代码将自动执行,可能导致用户信息泄露和身份盗窃等安全问题。漏洞成因:XSS 漏洞的产生可以归结为两种原因。(1)恶意程序的存储可能会导致 XSS 漏

10、洞。攻击者可以将恶意代码存储在服务器上,以便将其注入网站的页面中。(2)XSS 漏洞也可能是由于其他用户在前端,或者是管理员在前后端的访问时无意间执行了恶意代码而导致的。攻击者可以通过各种方式欺骗用户或管理员,使其执行恶意代码,从而产生跨站连接并且可能产生跨站的攻击。3.4 DOM 型 XSS DOM 是一个与平台和编程语言无关的接口,可以通过 JavaScript 对网页显示内容和操作浏览器的接口进行访问和操作。它的主要作用是让信息无需通过服务器而直接在浏览器中接收和处理,从而减轻服务器的负担。然而,在 DOM 节点通过修改页面内容的操作中,存在一种 XSS 攻击方式,称为 DOM Base

11、d XSS。与其他类型的 XSS 攻击相比,DOM Based XSS 攻击具有较高的隐蔽性和难度。漏洞成因:DOM 型 XSS 是基于 DOM 文档对象模型4,其本质是一份 XML 文档。它能够让浏览器通过 JavaScript 更加便捷地访问和使用 DOM,它的出现大大提高了浏览器的效率。当发现并确认客户端代码中存在 DOM 型 XSS 漏洞时,钓鱼者会利用自己构建的 URL 诱导用户进行访问,这种利用方式与反射型技术有相似之处。它的优势在于,构造的 URL 参数无需发送到服务器,从而实现绕过 WAF、躲避服务端的检测功能。3.5 通用型 XSS 通用型 XSS 也叫做 UXSS 或者 U

12、niversal XSS,全称 Universal Cross-Site Scripting。上文所提到的 3 种XSS 攻击的是因为客户端或服务端的代码开发不严谨等问题而存在漏洞的目标网站或者应用程序。这些攻击的先提条件是访问页面存在漏洞,但是 UXSS是一种利用浏览器或者浏览器扩展漏洞来制造产生XSS 的条件5并执行代码的一种攻击类型。041第 13 期2023 年 7 月无线互联科技网络互联No.13July,20233.5.1 漏洞成因 由于 Web 浏览器具有强大的功能,因此成了当前大多数人使用的应用程序之一。然而,一旦新漏洞被发现,无论是被攻击者利用还是向官方报告,都需要相当长的时

13、间来解决,这段时间内漏洞可能会被用于 UXSS 攻击。随着技术的发展,越来越多的浏览器支持扩展程序,但这也可能会给用户带来更多的安全隐患。UXSS 攻击是其中一种,它不仅可以攻击网站页面,还可以访问其他没有漏洞的页面,因此成为 XSS 攻击中最具破坏力的类型之一。3.5.2 几个典型的漏洞案例 (1)Adobe Acrobat 的 IE6 和火狐浏览器可能存在安全漏洞。这是一个比较经典的例子。当在使用扩展程序时可能会导致错误,使得代码可以执行。具体来说,在 PDF 阅读器中存在漏洞,允许攻击者在客户端执行脚本。攻击者可以构造恶意页面并写入恶意脚本,然后利用扩展程序打开 PDF 时运行代码。St

14、efano Di Paola 和 Giorgio Fedon 首先记录和描述了一个在Mozilla Firefox 浏览器中 Adobe Reader 插件中可利用的 UXSS 缺陷,该插件通过一系列参数允许从外部数据源获取数据以填充文档表单,如果没有正确执行,将允许跨站脚本攻击。具体案例可以详见:Acrobat插件中的 UXSS 报告。(2)Flash Player UXSS 漏洞-CVE-2011-2107。在 2011 年,发现了一个 Flash Player 插件中的漏洞,该漏洞存在于所有版本中。攻击者可以利用构造的.swf 文件来访问 Gmail 设置并添加转发地址,从而收到任意一个

15、被攻破的 Gmail 账号的所有邮件副本(发送时都会抄送)。Adobe 承认了这个漏洞的存在。具体案例可以详见:Flash Player UXSS 漏洞-CVE-2011-2107 报告。(3)安卓版 Chrome 浏览器漏洞。Chrome 浏览器的安全性备受关注,因此它的 XSS攻击潜力受到限制。攻击者可以利用 Chrome 的Intent 对象,创建一个恶意的网页,并注入大量的病毒和木马。由于 Intent 对象的存在,攻击者可以轻松地通过 Chrome 来执行攻击,因为它们可以直接与Android 操作系统的其他组件进行交互,而无需任何额外的权限。这使得 Chrome 成为攻击者的热门目

16、标之一。具体案例可以详见:Issue 144813:Security:UXSS via com.android.browser.application_id Intent extra。3.6 突变型 XSS 突变型 XSS 也被称为 mXSS 或 Mutation-based Cross-Site-Scripting,这是一种 XSS 攻击的变体。3.6.1 漏洞成因 当 JavaScript 代码被映射到 innerHTML 属性时,会出现一些意外的变化,从而可能导致原本安全的HTML 代码被渲染成可能带来威胁的 XSS 攻击代码,这将导致原本的安全认定失效。在攻击代码段中,当一些 JS 代

17、码被输出到 DOM中或其他形式被再次渲染时,就会导致 XSS 攻击的执行。这种在 HTML 内容进入 innerHTML 后发生的意外变化,也会导致 XSS 攻击流程的发生。这种类型的 XSS 攻击流程是将拼接的内容置于innerHTML 属性中,这种操作在现代 WEB 应用代码中非 常 常 见,因 为 很 多 WEB 应 用 都 使 用 了innerHTML 属性。这将导致潜在的 mXSS 攻击。从浏览器的角度来看,mXSS 对三大主流浏览器(IE、Chrome、Firefox)都有影响。3.6.2 mXSS 的类型 (1)反引号打破属性边界导致的 mXSS。该类型是最早被发现并利用的一类

18、mXSS,于 2007 年被提出,随后被有效地修复。(2)未知元素中的 xmlns 属性所导致的 mXSS。一些浏览器不支持 HTML5 的标记,例如 IE8 会将article、aside、menu 等当作是未知的 HTML 标签。(3)在 CSS 中,可以使用反斜线“”对字符进行转义,例如 property:v【1 lue表示 property:value,其中 61 是字母 a 的 ASCII 码(16 进制)。此外,反斜线后也可以接 Unicode 编码,例如:20AC 表示。通常情况下,这种转义方式不会出现问题。然而,在使用innerHTML 时,一些奇怪的情况会发生,从而导致所谓的

19、 mXSS(CSS 中的跨站脚本攻击)。(4)CSS 中双引号实体或转义导致的 mXSS。接上一部分,这依然是 CSS 中所存在的问题,"""等双引号的表示形式均可导致这类问题。(5)CSS 属性名中的转义所导致的 mXSS。(6)非 HTML 文档中的实体突变。(7)HTML 文档中的非 HTML 上下文的实体突变。4 XSS 攻击的预防 XSS 攻击涉及两个要素:攻击者提交恶意代码和浏览器执行恶意代码。基于这两个攻击要素,有 4 种141第 13 期2023 年 7 月无线互联科技网络互联No.13July,2023预防方式可供选择。4.1 预防 DOM 型 X

20、SS 攻击 DOM 类型的 XSS 攻击涉及网站前端 JavaScript代码的问题,即前端代码对不可信数据的处理不够严谨,导致将不可信数据当成代码来执行。特别是在使用.innerHTML、.outerHTML、document.write()这些操作时,更要引起重视,不能把不可信数据当成 HTML插 入 页 面 中,应 该 尽 可 能 地 使 用.textContent、.setAttribute()等方法来处理。在 DOM 中,内联事件监听器,如 location、onclick、onerror、onload、onmouseover 以及标签的 href 属性和JavaScript 的 e

21、val、setTimeout、setInterval 等方法,都可以将字符串转换成可执行的代码。如果未经验证的数据被拼接到这些字符串中并传递给 API,则会极大地增加安全风险,因此必须谨慎处理,以确保系统的稳定性。4.2 输入过滤 当数据经过前端过滤并传递到后端进行处理时,如果攻击者能够绕过前端的过滤机制,直接构造请求并提交恶意代码,就会对系统安全带来威胁。为了解决这个问题,可以在后端将用户输入的信息进行过滤,然后再存入数据库中。例如:一个普通用户输入了 5 7,后端将其转化为 5$lt;7,即在录入之前进行转义处理,避免恶意代码的注入。但是,即使对用户输入进行了过滤,也不能确定这个内容会输出

22、到什么地方。这里有两个问题:(1)用户输入的信息可能会同时发送到前端和客户端,如果通过 escapeHTML()处理,客户端展示的信息将成为杂乱码(例如:5$lt;7);(2)在前端中,所需的代码根据其不同的位置也应当不同。例如:在使用 5$lt;7 作为 HTML 拼接页面的时候,可以正常地显示出:5 7 这一内容。因此,采取输入过滤并非完全可靠。“防止浏览器执行恶意代码”提供了一种关于此类 XSS 的防护措施,可以采用如下两种方式进行有效的防护。4.3 前端渲染把代码和数据分隔开 为了提高浏览器的安全性并避免被攻击者利用,本研究可以在前端渲染过程中明确告知浏览器需要包 含 哪 些 内 容,

23、例 如:文 本(.innerText)、属 性(.setAttribute)、样式(.style)等。这样浏览器就能更加安全地执行预期的代码,避免受到欺骗。具体来说,为了避免使用 innerHTML 造成的 XSS漏 洞,可 以 使 用 textContent 或 innerText 代 替innerHTML 来设置 DOM 元素的文本内容;在使用jQuery 库时,可以使用 text()方法而不是 html()方法来设置元素的文本内容,以减少 XSS 的风险。4.4 拼接 HTML 时对其进行转义 为了在拼接 HTML 时有效地进行转义,应该使用适当的转义库。常用的模板引擎(如 doT.js

24、、ejs 和 FreeMarker)通常只会将&/这几个字符进行转义,虽然这样有助于保护 HTML,但仍然存在一些缺陷。因此,为了更好地保护网站免受 XSS 攻击,应该使用更加严格的转义规则,并确保在所有的输入点(包括从数据库中读取的数据)都应用适当的转义规则。5 结语 随着数字化程度的提高和信息技术的快速发展,本研究的生活和工作方式已经发生了根本性的变化。随之而来的是,网络安全问题也越来越频繁地发生。特别是在金融、医疗、军事和能源等重要行业,一旦遭到黑客攻击或病毒感染,将可能导致重大的经济和社会损失,甚至威胁到国家安全。在这些领域,安全问题不仅是技术问题,更是一个战略问题。OWASP Top

25、 10 中的十大安全漏洞问题,虽然已经成为业界公认的安全标准,但是这些漏洞并不是一成不变的。随着黑客攻击手段的不断升级和安全技术的不断创新,新的安全问题也不断出现。因此,本研究需要对网络安全问题保持高度的关注,及时掌握最新的安全技术和漏洞信息,采取有效的安全措施来保护本研究的网络系统和数据安全。这包括加强用户教育、制定更加严格的安全策略和规定、加强网络监控等。只有通过这些综合的措施,才能有效地保护本研究的网络安全,确保本研究的数字生活更加安全、便利、高效。参考文献1朱星伟.XSS 攻击升温,Web 业务安全面临更大挑战J.科学之友(B 版),2008(9):117.2掘金网.前端常见的安全问题

26、以及防范措施EB/OL.(2022-04-23)2023-04-23.https:/ 客户端安全漏洞评估方案设计与实现D.西安:西安电子科技大学,2014.4黄文锋.DOM 型 XSS 攻击防范模型研究D.广州:广州大学,2010.(下转第 147 页)241第 13 期2023 年 7 月无线互联科技网络互联No.13July,2023Study on the fault decision mechanism of safe and efficient communication network based on network characteristicsMandula Inner Mo

27、ngolia Power Training Center Hohhot 010011 China Abstract SDN technology uses the technology of data forwarding and control signaling separation to improve the efficiency of network construction and management.However due to the programmable nature of SDN technology SDN network equipment is more vul

28、nerable to network attacks.In order to solve the problem of low security and low efficiency of fault decision mechanism caused by network attacks this paper proposes a safe and efficient communication network fault decision mechanism based on network characteristics.First according to the characteri

29、stics of the network environment this paper constructs a fault management platform architecture.Secondly based on the fault management platform architecture with the goal of ensuring the safety and efficiency of the fault decision mechanism this paper designs the communication network fault decision

30、 mechanism.The mechanism includes five steps creating a safe data communication channel monitoring alarm data monitoring abnormal data starting fault location and fault prediction mechanism and starting fault recovery mechanism.Finally in the performance analysis the fault management decision mechan

31、ism proposed in this paper has been verified to have good performance from the two dimensions of safety and efficiency of the fault management decision mechanism.Key words communication network fault decision network characteristics network security(上接第 142 页)5杨蕾新,张健毅,杨涛.混合开发模式下基于WebView 的移动应用安全性综述J

32、.北京电子科技学院学报,2020(3):22-30.(编辑 王永超)Research on Cross-Site Scripting attack and preventionZang Yufeng Wang Jiong College of Computer and Control Engineering Minjiang University Fuzhou 350108 China Abstract With the rapid development of the Internet more and more Web application vulnerabilities are eme

33、rging posing a great threat to internet security.Among them Cross-Site Scripting vulnerabilities are particularly common which enables Cross-Site Scripting attacks to be carried out based on this vulnerability.This type of attack can inject malicious code into specific Web pages thereby compromising

34、 the security of the system.Moreover Cross-Site Scripting attacks are characterized by anonymity ease of operation and difficulty of detection making them one of the common attack methods on the Internet today.This article will explore Cross-Site Scripting attacks in the context of the web environme

35、nt study the attack principles of Cross-Site Scripting attacks analyze the causes of vulnerabilities based on different categories and study the dangers and impacts of such attacks proposing corresponding preventive measures based on the attack characteristics.Key words Web application security Cross-Site Scripting XSS attack principles and causes of vulnerabilities741

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服