欢迎来到天天文库
浏览记录
ID:16123082
大小:31.50 KB
页数:9页
时间:2018-08-08
《xss攻击机制及防御技术浅谈》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、XSS攻击机制及防御技术浅谈 摘要:跨站脚本攻击(XSS)是客户端Web安全的主要威胁。因跨站脚本攻击的多样性以及Web安全漏洞的隐蔽性,使得该类型的攻击很难彻底防御。介绍了跨站脚本攻击的基本概念,针对不同环境发生的跨站脚本攻击机制进行了分析,探讨了不同环境下如何防御跨站脚本攻击的具体技术关键词:Web安全;XSS;跨站脚本攻击;Web漏洞;XSS防御中图分类号:TP393文献标志码:A文章编号:1006-8228(2016)10-11-03DiscussiononXSSattackmechanismanddefen
2、setechnologyGeQiang1,2,LiJun3,HuYongquan1(1.CollegeofComputerandInformationEngineering,HenanUniversity,Kaifeng,Henan475004,China;2.CollegeofEnvironmentandPlanning,HenanUniversity;3.InformationOffice)Abstract:Crosssitescripting(XSS)attackisamajorthreattothesecuri
3、tyofWebclient.BecauseofthediversityofXSSattacksandWebsecurityvulnerabilitieshidden,thistypeofattackisverydifficulttocompletelydefense.ThispaperintroducesthebasicconceptofXSSattacks,analyzestheXSSattackmechanismsofdifferentenvironment,anddiscussesthespecifictechn
4、ologytodefensetheXSSattacksofdifferentenvironment.Keywords:Websecurity;XSS;crosssitescriptingattack;Webvulnerability;XSSdefense0引言在当今的Web2.0时代,Web上的大多数站点实际上是应用程序,它们功能强大,提供各种各样的服务。网站向用户展示的内容是以动态形式生成的,并且能够满足用户的个性化需求[1]。但这些个性化的应用也给站点带来一定的安全隐患,例如,跨站脚本攻击等,同时,AJAX技术的流
5、行使得XSS攻击威胁变得更加严重。XSS攻击在OWASP组织公布的OWASPTOP2013中位列第三[2-3],可见XSS攻击所造成的威胁之大1XSS原理XSS攻击是一种间接攻击,攻击者通过Web服务器来攻击其他用户。攻击者向服务器提交一段恶意代码,而在服务器端并没有对用户的输入做足够的安全处理,就将用户输入写入数据库。当其他用户向服务器再次请求含有恶意代码的网页时,服务器就会把包含恶意代码的网页返回,浏览器收到返回信息后进行相应的渲染、解码工作,此时恶意代码被触发执行,用户的机密信息将被窃取,甚至可以控制用户的系统[
6、4]。XSS攻击原理如图1所示先举一个简单的例子来展示跨站脚本攻击的效果,主要代码如下:Result.jsp代码如下:你好:如果用户输入恶意内容,并且没有对用户的输入做安全处理,因此在result页面就可能会出现安全威胁。如用户输入“”,该字符串没有经过安全检查就写入数据库,当该name值被再次取出时,这个字符串会被浏览器解析执行,浏览器将弹出“Hello”2浏览器的解码防御XSS攻击的主要方式是对用户的输入进行安全检查并进行适当的编码。对用户在不同地方的输入应当进行不同的编码。只有对用户的输入进行完整的安全检查和正确
7、的编码才能有效防御XSS攻击对于下面这段代码,浏览器会进行三种解码。HTML解码、JS解码、URL解码ThisisatestLink首先,对于段落“Thisisatest”浏览器会进行HTML解码。其次,对于“Hello”浏览器会首先进行HTML解码,然后进行JS解码。最后对于连接“www.a.com”浏览器会进行URL解码[5]。因此,如果上述三个位置都是用户可编辑的,则开发人员就需根据浏览器对以上几处位置所进行的解码顺序来进行对应的编码操作3XSS解决方案3.1ESAPI解决方案防御XSS攻击的有效办法就是对用户输
8、入进行安全检查,然后采取相应措施,主要的措施有替换、移除、编码[6-7]。下面主要讨论采用编码方法防御XSS攻击。 ESAPI是一个免费、开源的Web应用程序安全控制组件,可以帮助编程人员开发低风险应用程序。为了防御XSS攻击,在实际情况中,应根据网页显示用户输入内容位置的不同,而采用不同的编码方式。用户的输入可能在网页的多个地
此文档下载收益归作者所有