当前位置: 首页 > 专利查询>贵州大学专利>正文

一种检测Web页面中的XSS漏洞的检测方法技术

技术编号:19101996 阅读:56 留言:0更新日期:2018-10-03 03:54
本发明专利技术公开了一种检测Web页面中XSS漏洞的检测方法,包括Web页面可接收的参数‑值对集合中的每个参数‑值对:构造在输入值中插入了特定脚本的参数‑值对,基于该插入的特定脚本参数‑值对来组装对应于所述Web页面的URL,获取对应于所组装的URL动态Web页面内容,以及模拟执行所获取的动态Web页面内容,如果执行了所述特定脚本,则认为所述Web页面中对该参数的处理存在XSS(跨站脚本)漏洞。本发明专利技术还公开了一种相应的XSS漏洞检测装置和使用该装置的网站安全扫描系统和网络扫描系统。

【技术实现步骤摘要】
一种检测Web页面中的XSS漏洞的检测方法
本专利技术涉及网站安全扫描和分析领域,尤其涉及一种用于对网站中的Web页面是否具有XSS漏洞进行检测的方法和装置。
技术介绍
从二十世纪九十年代开始,XSS漏洞开始被披露,其发现和利用为人们所关注。XSS(跨站脚本攻击),是利用网站漏洞从用户那里恶意盗取信息的方式之一。用户在浏览网站、作用即时通讯软件、或者在阅读电子邮件时,通常会点击其中的链接。恶意攻击者在链接中插入恶意代码,当用户点击这些链接时,生成相应网页的网络服务器由于没有过滤这些恶意代码而具有XSS漏洞,因此生成包含恶意代码的页面,而这个页面看起来就像是那个网站应当生成的合法页面一样,从而导致这些恶意代码最终在用户计算机上执行,绕过本地用户的安全机制来盗取用户信息,甚至在用户机器上进行挂马攻击而远程获得用户机器的控制权等。攻击者通过会用十六进制(或其他编码方式)将链接编码,以免用户怀疑它的合法性。XSS漏洞目前在互联网站上普遍存在,给直接用户带来极大的威胁。近年来,XSS漏洞一举超过缓冲区溢出而成为最流行的Web安全漏洞之一。大约至少有68%的网站存在XSS漏洞。检测XSS从检测的途径来看可分为远程主动检测和本地被动检测两种方式。本地被动检测技术主要应用在浏览器里,目前IE10,firefox的noscript插件都支持XSS检测。远程主动检测则主要应用在远程漏洞扫描器类的检测类工具里。本专利技术主要是针对远程检测技术进行改进。随着网站程序员对安全的认识也有所增强,会对用户输入的参数进行一些特别处理,这部分特别处理给远程扫描XSS漏洞带来一定的难度,尤其是更容易给远程扫描带来误报。目前已经提出了几种用于远程扫描网络服务器的XSS漏洞的方法。美国专利US7343626B1公开了一种测试网站是否具有XSS漏洞的自动化方法和系统,其中包括:对于网络服务器的Web页面,找出其所有参数-值对;对于每个参数-值对,构造特定的跟踪值,并且将构造的参数-值对提交到网络服务器以请求Web页面;如果返回网页中包含特定的跟踪值,则说明该网页要具有XSS漏洞;此时基于网页中特定跟踪值出现的位置,构造包括脚本的第二特定跟踪值,并再次提交到网络服务器,并根据返回的网页是否执行该脚本来判断网页是否具有XSS漏洞。然而,美国专利US7343626B1所公开的方法需要再次提交参数-值对,因此执行效率不高。此外该方法还需要基于特定跟踪值出现的位置来构造包括脚本的第二特定跟踪值,由于随着网络技术的发展,XSS漏洞可能以其他位置出现,这也会导致该方法完整地检测出XSS漏洞。一些开源软件中也公开了其它用于远程检测XSS漏洞的方法,其大致原理如下,对于某个要检测的网页,首先确定该网页接受的参数-值对,然后对于每个参数,构造特定的值,并且利用这些特定构造的参数-值对向网络服务器请求该网页,最后根据返回信息来判断漏洞是否存在。对返回信息的分析方法,这些方法采用的是基于正则表达式的匹配。在这些开源软件的检测方法,通过基于特征串的正则表达式匹配来分析返回信息以判断是否具有XSS漏洞,这在某些情况下会产生一些误报或者漏报。此外,在基于DOM的XSS漏洞中,该方法无法判断漏洞能否被触发。例如,返回的网页虽然包含了构造的特定值,但是该特定值不会被执行时,该方法仍然认为网页存在XSS漏洞,但是实际上并非如此。可以看出,在本
,还没有一种方法和装置可以完全且高效地检测XSS漏洞,本专利技术力图通过对开源软件中所提出的方法进行改进来提供一种完全自动化的、可以全面高效地检测XSS漏洞的方案。
技术实现思路
本专利技术的申请人发现,XSS漏洞的最终结果是要在被攻击者的机器上执行非预期的脚本代码,因此,如果利用javascript解析引擎来确定非预期的脚本代码是否在被攻击者的机器上执行,则可以非常全面地检测XSS漏洞。本专利技术基于此做出。根据本专利技术的一个方面,提供了一种检测网页中的XSS漏洞的XSS漏洞检测方法,包括步骤:确定网页可接收的参数-值对集合;以及为所述参数-值对集合中的每个参数-值对:构造在值中插入了特定脚本的参数-值对;基于该插入了特定脚本的参数-值对来组装对应于所述网页的URL;获取对应于所组装的URL的动态网页内容;以及模拟执行所获取的动态网页内容,如果执行了所述特定脚本,则认为所述网页中对该参数的处理存在XSS漏洞。根据本专利技术的一个实施例,在所述模拟执行所获取的动态网页内容的步骤中,使用脚本解析引擎来模拟执行所述网页内容中,该脚本解析引擎被构造为基于特定脚本是否被触发来确定是否存在XSS漏洞。根据本专利技术的另一方面,提供了一种检测网页中的XSS漏洞的XSS漏洞检测设备,包括:网页参数-值对集合确定装置,用于确定所述网页可以接收的参数-值对集合;测试URL组装装置,为所述参数-值对集合中的每个参数-值对组装测试用的URL,其中在组织所述测试用的URL时,在所述值中插入特定的脚本;请求和接收装置,用于将所述测试用的URL发送到网络服务器,并接收从所述网络服务器返回的网页内容;以及模拟执行装置,用于模拟执行所述网页内容,并且在所述特定脚本被执行时,确定相应参数存在XSS漏洞。根据本专利技术的一个实施例,该XSS漏洞检测设备还包括脚本解析引擎,所述执行装置在模拟执行所述网页内容时使用所述脚本解析引擎来执行脚本,所述脚本解析引擎根据所述特定脚本是否被触发来确定所述相应参数是否存在XX漏洞。根据本专利技术的一个实施例,该XSS漏洞检测装置还包括脚本解析引擎,所述模拟执行装置在模拟执行所述网页内容时使用所述脚本解析引擎来执行脚本,所述脚本解析引擎根据所述特定脚本是否被触发来确定所述相应参数是否存在XSS漏洞。本专利技术通过组装具有特定脚本的参数值的URL,并检测该URL返回动态网页内容是否会触发该特定脚本来确定该动态网页是否具有XSS漏洞。和传统上仅仅通过判断相应内容是否会出现在动态网页中的特征匹配相比,其准确度更高而且检测更加全面。附图说明通过阅读下文优先实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。其中在附图中,参考数字之后的字母标记指示多个相同的部件,当泛指这些部件时,将省略其最后的字母标记。在附图中:图1示出了根据本专利技术实施例的、用于检测网页的XSS漏洞的方法的流程图;图2示出了根据本专利技术实施例的、用于确定网络服务器对某个参数的处理是否存在XSS漏洞的方法的流程图;以及图3示出了根据本专利技术实施例的、用于检测网页的XSS漏洞的装置的示意图。具体实施下面结合附图和具体的实施方式对本专利技术作进一步的描述。图1示出了根据本专利技术实施例的、用于检测网页XSS漏洞的方法的流程图。在步骤S110中,获取要进行XSS漏洞检测的网页的URL,然后在步骤S120中,确定该网页能够接收的参数-值对集合。根据XSS的原理,具有XSS漏洞的网页为网络服务器动态生成的网页,因此其通过可以根据HTTP协议接收一些参数和相应的值。例如如果要检测的网页URL为http://www.test.com/test.asp?id=1&name=test,则可以确定该本文档来自技高网
...

【技术保护点】
1.一种检测Web页面中的XSS漏洞的检测方法,其特征在于:包含以下步骤:(1)确定Web页面可接收的参数‑值对集合;(2)以及为所述参数‑值对集合中的每个参数‑值对;(3)构造在值中插入了特定脚本的参数‑值对;(4)基于该插入了特定脚本的参数‑值对来组装对应于所述Web网页的URL;(5)获取对应于所组装的URL的动态Web页面内容;(6)以及模拟执行所获取的Web动态页面内容,如果执行了所述特定脚本,则认为所述Web页面中对该参数的处理存在的XSS漏洞。

【技术特征摘要】
1.一种检测Web页面中的XSS漏洞的检测方法,其特征在于:包含以下步骤:(1)确定Web页面可接收的参数-值对集合;(2)以及为所述参数-值对集合中的每个参数-值对;(3)构造在值中插入了特定脚本的参数-值对;(4)基于该插入了特定脚本的参数-值对来组装对应于所述Web网页的URL;(5)获取对应于所组装的URL的动态Web页面内容;(6)以及模拟执行所获取的Web动态页面内容,如果执行了所述特定脚本,则认为所述Web页面中对该参数的处理存在的XSS漏洞。2.如权利要求1所述的XSS漏洞检测方法,其特征在于:在所述模拟执行所获取的动态Web页面内容的步骤中,使用脚本解析引擎来模拟执行所述Web页面内容中,该脚本解析引擎被构造为基于特定脚本是否被触发来确定是否存在XSS漏洞。3.如上述权利要求任一个所述的XSS漏洞检测方法,其特征在于:所述特定脚本为alert函数。4.如上述权利要求任一个所述的XSS漏洞检测方法,其特征在于:在所述组装对应于Web页面的URL的步骤中,通过在URL中改变参数-值对次序和插入其它特殊代码来组装多个URL,并且为所述多个URL分别执行所述获取动态Web页面内容和模拟执行动态Web页面内容的步骤。5.如上述权利要求任一个所述的XSS漏洞检测方法,其特征在于:还包括步骤:记录所述参数-值对集合中的每个参数是否存在XSS漏洞。6.一种检测Web页面中XSS漏洞的检测装置...

【专利技术属性】
技术研发人员:黄娜娜钱亚东辛壮
申请(专利权)人:贵州大学
类型:发明
国别省市:贵州,52

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1