本发明专利技术公开了一种漏洞检测方法及装置,其中,该方法包括:接收Web服务器对处理请求的响应结果,该处理请求包括特征值,该响应结果包括页面源代码;根据虚拟解析器对页面源代码进行解析以得到解析结果,该解析结果包括html页面;对html页面进行特征值检测以得到XSS漏洞,该XSS漏洞对应于动态页面生成元素。本发明专利技术引入了类浏览器虚拟解析技术对Web服务器响应的页面源代码进行解析,从而得到了最终生成的HTML结构(即html页面),进一步地对该页面进行特征值检测便实现了对动态页面生成元素的XSS漏洞检测的目的。
【技术实现步骤摘要】
一种漏洞检测方法及其装置
本专利技术涉及Web应用测试
,尤其涉及一种漏洞检测方法及其装置。
技术介绍
近年来,随着Web应用的广泛使用,Web安全问题也日益突出。其中,XSS(Cross-sitescripting,跨站脚本攻击)漏洞已成为Web应用程序中最常见的漏洞之一,因此,对XSS漏洞的自动化检测也成为了一项重要的技术。目前,一般采用XSS检测工具来检测XSS漏洞,其具体过程如下:(1)XSS检测工具捕获客户端(浏览器)所发送的http请求;(2)XSS检测工具构造带有特征值的请求;(3)XSS检测工具将带有特征值的请求发送至Web服务器,Web服务器响应该请求;(4)XSS检测工具在该请求响应的页面源代码中检测特征值,若在某处检测到特征值,则认为此处为一个XSS漏洞。进一步地,随着Web2.0技术的发展,Web应用的页面不仅具有展示静态内容的功能,还具有与用户进行交互的功能。其中,这些交互功能通常通过在Web页面嵌入大量JavaScript和CSS脚本来实现。具体地,通过执行嵌入的JavaScript和CSS脚本,可以动态的增加、删除和修改各种Web页面元素。然而,上述漏洞检测方法由于仅仅检测了请求响应的源代码,这部分动态生成的页面元素由于页面中的JavaScript和CSS脚本没有执行而无法被检测,即无法检测动态页面生成元素的XSS漏洞。
技术实现思路
本专利技术所要解决的技术问题是:提供一种漏洞检测方法,以检测出动态页面生成元素的XSS漏洞。为解决上述技术问题,本专利技术采用的技术方案如下:提供一种漏洞检测方法,包括:接收Web服务器对处理请求的响应结果,该处理请求包括特征值,该响应结果包括页面源代码;根据虚拟解析器对页面源代码进行解析以得到解析结果,该解析结果包括html页面;对html页面进行特征值检测以得到XSS漏洞,该XSS漏洞对应于动态页面生成元素;其中,动态页面指的是执行JavaScript脚本和CSS脚本后的页面。具体地,该XSS漏洞包括JavaScript脚本和CSS脚本执行后生成的漏洞。可选地,接收Web服务器对处理请求的响应结果之后,该方法还包括:对页面源代码进行特征值检测以得到XSS漏洞,该XSS漏洞对应于静态页面生成元素。其中,静态页面指的是未执行JavaScript脚本和CSS脚本的页面。较佳地,接收Web服务器对处理请求的响应结果之前,该方法还包括:接收客户端所发送的用户请求,并将用户请求发送至Web服务器;接收Web服务器对用户请求的响应结果;构造处理请求,并将处理请求发送至Web服务器。具体地,该用户请求包括http请求。相应地,本专利技术还提供了一种漏洞检测装置,包括:接收模块,用于接收Web服务器对处理请求的响应结果,该处理请求包括特征值,该响应结果包括页面源代码;解析模块,用于根据虚拟解析器对页面源代码进行解析以得到解析结果,该解析结果包括html页面;以及检测模块,用于对html页面进行特征值检测以得到XSS漏洞,该XSS漏洞对应于动态页面生成元素。其中,动态页面指的是执行JavaScript脚本和CSS脚本后的页面。具体地,该XSS漏洞包括JavaScript脚本和CSS脚本执行后生成的漏洞。可选地,接收Web服务器对处理请求的响应结果之后,该检测模块还用于:对页面源代码进行特征值检测以得到XSS漏洞,该XSS漏洞对应于静态页面生成元素。其中,静态页面指的是未执行JavaScript脚本和CSS脚本的页面。较佳地,接收Web服务器对处理请求的响应结果之前,该接收模块还用于:接收客户端所发送的用户请求,并将用户请求发送至Web服务器;接收Web服务器对用户请求的响应结果;该漏洞检测装置还包括构造模块,用于构造处理请求并将处理请求发送至Web服务器。具体地,该用户请求包括http请求。与现有技术相比,本专利技术中的漏洞检测方法及其装置,先接收Web服务器对包括特征值的处理请求的响应结果,该响应结果包括页面源代码,再根据虚拟解析器对页面源代码进行解析以得到包括html页面的解析结果,最后对html页面进行特征值检测以得到XSS漏洞,该XSS漏洞对应于动态页面生成元素。即,本专利技术引入了类浏览器虚拟解析技术对Web服务器响应的页面源代码进行解析,从而得到了最终生成的HTML结构(即html页面),进一步地对该页面进行特征值检测便实现了对动态页面生成元素的XSS漏洞检测的目的。通过以下的描述并结合附图,本专利技术将变得更加清晰,这些附图用于解释本专利技术的实施例。附图说明图1为本专利技术漏洞检测方法第一实施例的流程图。图2为本专利技术漏洞检测方法第二实施例的流程图。图3为jsp示例代码界面图。图4为Web请求响应源代码的界面图。图5为Web请求响应源代码经虚拟解析后的界面图。图6为专利技术漏洞检测装置第一实施例的结构图。图7为专利技术漏洞检测装置第一实施例的结构图。具体实施方式现在参考附图描述本专利技术的实施例,附图中类似的元件标号代表类似的元件。请参考图1,是本专利技术第一实施例的漏洞检测方法流程图。如图所示,该方法可以包括如下步骤:S101,接收Web服务器对处理请求的响应结果。具体地,XSS检测工具(即下文中所描述的漏洞检测装置)先向Web服务器发送处理请求,其中,该处理请求是由XSS检测工具所构造的、带有特征值的请求。Web服务器接收该处理请求,并对其进行响应以得到响应结果,进一步地将该响应结果返回至XSS检测工具。其中,该响应结果包括页面源代码。需要说明的是,特征值一般都是一些包含特殊字符的字符串,用于破坏当前输出点的上下文html或者JavaScript结构,从而达到成功注入的目的。以下是两个特征值的示例:<divname='xss10001001'id="101482402907">Iamtester</div><scriptname='xss10001001'id="101483090516">alert(1)</script>S102,根据虚拟解析器对页面源代码进行解析以得到解析结果,该解析结果包括html页面。具体地,XSS检测工具利用虚拟解析技术,对页面源代码进行解析,从而可以获得最终生成的HTML结构(即html页面)。S103,对html页面进行特征值检测以得到XSS漏洞,该XSS漏洞对应于动态页面生成元素。其中,动态页面指的是执行JavaScript脚本和CSS脚本后的页面。具体地,XSS检测工具对解析所得到的html页面进行特征值检测,如果在经过解析的请求响应(即html页面)中检测到了特征值,则可以判断所检测到的特征值所在的位置即为一个XSS漏洞。且,此处的XSS漏洞对应于动态页面生成元素,该XSS漏洞主要指的是JavaScript脚本和CSS脚本执行后生成的漏洞。从以上描述可以看出,本专利技术实施例中,先接收Web服务器对包括特征值的处理请求的响应结果,该响应结果包括页面源代码,再根据虚拟解析器对页面源代码进行解析以得到包括html页面的解析结果,最后对html页面进行特征值检测以得到XSS漏洞,该XSS漏洞对应于动态页面生成元素。即,本专利技术实施例引入了类浏览器虚拟解析技术对Web服务器响应的页面源代码进行解析,从而本文档来自技高网...
【技术保护点】
一种漏洞检测方法,其特征在于,包括:接收Web服务器对处理请求的响应结果,所述处理请求包括特征值,所述响应结果包括页面源代码;根据虚拟解析器对所述页面源代码进行解析以得到解析结果,所述解析结果包括html页面;对所述html页面进行特征值检测以得到XSS漏洞,所述XSS漏洞对应于动态页面生成元素。
【技术特征摘要】
1.一种漏洞检测方法,其特征在于,包括:接收Web服务器对处理请求的响应结果,所述处理请求包括特征值,所述响应结果包括页面源代码;根据虚拟解析器对所述页面源代码进行解析以得到解析结果,所述解析结果包括html页面;对所述html页面进行特征值检测以得到XSS漏洞,所述XSS漏洞对应于动态页面生成元素。2.如权利要求1所述的漏洞检测方法,其特征在于,所述XSS漏洞包括JavaScript脚本和CSS脚本执行后生成的漏洞。3.如权利要求1所述的漏洞检测方法,其特征在于,接收Web服务器对处理请求的响应结果之后,所述方法还包括:对所述页面源代码进行特征值检测以得到所述XSS漏洞,所述XSS漏洞对应于静态页面生成元素。4.如权利要求1至3任一项所述的漏洞检测方法,其特征在于,接收Web服务器对处理请求的响应结果之前,所述方法还包括:接收客户端所发送的用户请求,并将所述用户请求发送至Web服务器;接收所述Web服务器对所述用户请求的响应结果;构造所述处理请求,并将所述处理请求发送至所述Web服务器。5.如权利要求4所述的漏洞检测方法,其特征在于,所述用户请求包括http请求。6.一种漏洞检测装置,其特征在于,包括:接收模...
【专利技术属性】
技术研发人员:万振华,
申请(专利权)人:深圳开源互联网安全技术有限公司,安徽开源互联网安全技术有限公司,深圳市九州安域科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。