跨网站脚本攻击(XSS)的原理与防范对策

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:随着计算机网络技术的迅速发展,网络安全问题已变得越来越受到人们的重视,网络攻击形式多种多样,很多蠕虫病毒、木马病毒等植入到某些网页中,给网络用户带来了很大的安全隐患。其中XSS跨网站脚本攻击,恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。本文主要阐述了XSS的机理和特点,重点分析了网页代码的检测以及木马的特征,并针对这些特点进行了一些相应防范对策的探讨。

关键词:网页木马; XSS;攻击;防范

一、前言

网页木马是一种新型的恶意代码,一些攻击者将它人为的植入到服务器端的HTML页面中,通过客户端对服务器的访问来传播恶意攻击代码,它主要是通过浏览器以及其中的一些插件漏洞来进行植入,网页木马是一种客户端的攻击方式,它能有效的绕过防火墙的检测,隐秘的在客户端将恶意代码植入,客户端在不知情的情况下将这些恶意可执行程序进行下载和执行。给互联网用户造成严重的安全威胁。

在Web 出现以后,XSS的危害性达到了十分严重的地步。跨站脚本英文名称是(Cross Site Script),为了与层叠样式表(Cascading Style Sheets简称CSS)区分,故命名为XSS。 XSS攻击是指入侵者在远程WEB页面的HTML代码中插入具有恶意目的的数据,用户认为该页面是可信赖的,但是当浏览器下载该页面时,嵌入其中的脚本将被解释执行。XSS 具有自身的独有特点,目前国内外很多研究人员围绕XSS的防御进行了深入的探讨与研究,同时攻击者也在采用一些更先进的手段来提高木马的攻击隐蔽性,用以提高木马的攻击成功率,因此,XSS的机理与防范对策研究已成为了当前计算机工作者的一个重要课题。

二、XSS的机理与特征

的成因

跨网站脚本XSS漏洞的成因其实就是Html的注入问题,攻击者的输入没有经过严格的控制进入了数据库,最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行Html代码,数据流程如下:攻击者的Html输入—>web程序—>进入数据库—>web 程序—>用户浏览器。目前,所有的网站上几乎都提供一个站内或站外信息搜索框。在此搜索框中,您可以搜索到网站上任何可用的东西。这个搜索表单看起来这样:

图1-1

图1-2

内部代码:

在asp网页上显示的搜索结果,同时它也列出了在“关键字”的搜索结果。web 页面上,不管用户搜索什么内容,它将显示搜索结果在网页上。现在如果一个攻击者尝试注入恶意脚本,比如在搜索框中输入如下Html代码:“”则代码会变成

/>,嵌入的JavaScript代码将会被浏览器执行,将显示一个警告框,提示“XSS跨站脚本攻击”。而不能完成用户搜索功能。(上述两个网站已经做XSS过滤,不能看见警告框)

下面是一个关于用户注册页面的例子,当然这个示例很简单,几乎攻击不到任何网站,仅仅看看其原理。我们知道很多网站都提供用户注册功能,网站后台数据库存储用户名、密码,方便用户下次登录,有些网站是直接用明文记录用户名、密码,恶意用户注册账户登录后使用简单工具查看cookie结构名称后,如果网站有XSS漏洞,那么简单的就可以获取其它用户的用户名、密码了。

图2-1

如图2-1所示的用户注册页面。允许用户填入注册信息,然后存储到后台数据库中。因为我们完全信任了用户输入,用户注册信息都能正确的进入数据库。但有些恶意的用户会利用这个漏洞输入HTML和JS代码,例如