一种基于探针的漏洞检测方法及其装置制造方法及图纸

技术编号:15257822 阅读:145 留言:0更新日期:2017-05-03 04:45
本发明专利技术公开了一种基于探针的漏洞检测方法及装置,其中,该方法包括:接收客户端所发送的用户请求,用户请求中包括至少一个参数;对每一个参数构造检测探针并发送带有检测探针的第一请求至Web服务器;接收Web服务器针对第一请求的响应结果,并根据响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息;根据目标输出点的上下文信息构造目标特征值请求。本发明专利技术实施例引入检测探针以先获取目标输出点以及目标输出点的上下文信息,从而针对用户请求的每一个参数只需要构造一个带有特征值的请求,进而极大地减少了XSS检测工具中的测试用例数目,提高了检测效率。

Probe based vulnerability detection method and device thereof

The invention discloses a probe vulnerability detection method and device based on the method includes: receiving user request sent by the client, the user request includes at least one parameter; for every parameter structure detection probe and send the first detection probe request to the Web server; the Web server receives a response according to the first request, and according to the context information response of the target injection parameters, target output and the target output point; according to the request context information to construct the target feature point target output value. The embodiment of the invention is to obtain the target detection probe into the first output and contextual information output, according to each parameter requested by the user only need to construct a characteristic value request, which greatly reduces the number of test cases XSS detection tool in the number and improve the detection efficiency.

【技术实现步骤摘要】

本专利技术涉及Web应用测试
,尤其涉及一种基于探针的漏洞检测方法及其装置。
技术介绍
近年来,随着Web应用的广泛使用,Web安全问题也日益突出。其中,XSS(Cross-sitescripting,跨站脚本攻击)漏洞已成为Web应用程序中最常见的漏洞之一,因此,对XSS漏洞的自动化检测也成为了一项重要的技术。目前,一般采用XSS检测工具来检测XSS漏洞,其具体过程如下:(1)XSS检测工具捕获客户端(浏览器)所发送的http请求;(2)XSS检测工具根据http请求中的参数构造带有特征值的请求;(3)XSS检测工具将带有特征值的请求发送至Web服务器,Web服务器响应该请求;(4)XSS检测工具在该请求响应的页面源代码中检测特征值,若在某处检测到特征值,则认为此处为一个XSS漏洞。但是,对于一个http请求,并不是每个输入参数都能在响应中产生输出,因此传统的、基于特征值检测技术构造出的测试用例(即带有特征值的请求)有很大一部分都是无效的。同时传统的XSS检测工具由于对可能的XSS输出点的上下文信息不了解,因此针对每一个可能的输出点,都需要构造多种特征值以确保能够成功注入。故,以上这两点都造成了传统的XSS检测工具需要大量的测试用例,检测效率很低。
技术实现思路
本专利技术实施例所要解决的技术问题是:提供一种基于探针的漏洞检测方法,以提高检测效率。为解决上述技术问题,本专利技术实施例采用的技术方案如下:提供一种基于探针的漏洞检测方法,包括:接收客户端所发送的用户请求,所述用户请求中包括至少一个参数;对每一个所述参数构造检测探针并发送带有所述检测探针的第一请求至Web服务器,且所述检测探针具有唯一性;接收所述Web服务器针对所述第一请求的响应结果,并根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息;根据所述目标输出点的上下文信息构造目标特征值请求。具体地,所述响应结果包括页面源代码,根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息具体包括:检测所述页面源代码中是否存在所述检测探针;若存在,则确定所述检测探针所在的位置为所述目标输出点,同时确定所述检测探针所对应的参数为所述目标注入参数,并获取所述目标输出点的上下文信息。可选地,所述响应结果包括页面源代码,根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息具体包括:根据虚拟解析器对所述页面源代码进行解析以得到解析界面;检测所述解析界面中是否存在所述检测探针;若存在,则确定所述检测探针所在的位置为所述目标输出点,同时确定所述检测探针所对应的参数为所述目标注入参数,并获取所述目标输出点的上下文信息。具体地,虚拟解析器即利用虚拟解析技术,对http请求响应的源代码进行解析,可以获得Web请求响应最终生成的HTML结构,从而可以解决传统XSS检测工具不能够发现通过脚本动态页面生成元素的XSS漏洞的问题;其中,动态页面指的是执行JavaScript脚本和CSS脚本后的页面,其相对于静态页面而言的,静态页面是指未执行JavaScript脚本和CSS脚本的页面。在本专利技术实施例的一优选实施方式中,构造目标特征值请求之后,所述方法还包括:发送所述目标特征值请求至所述Web服务器;接收所述Web服务器针对所述目标特征值请求的响应结果;对所述目标特征值请求的响应结果进行特征值检测以得到XSS漏洞。具体地,该用户请求为http请求。相应地,本专利技术实施例还提供了一种基于探针的漏洞检测装置,包括:接收模块,用于接收客户端所发送的用户请求,所述用户请求中包括至少一个参数;构造模块,用于对每一个所述参数构造检测探针并发送带有所述检测探针的第一请求至Web服务器,且所述检测探针具有唯一性;所述接收模块还用于接收所述Web服务器针对所述第一请求的响应结果;获取模块,用于根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息;所述构造模块还用于根据所述目标输出点的上下文信息构造目标特征值请求。具体地,所述响应结果包括页面源代码,所述获取模块具体用于:检测所述页面源代码中是否存在所述检测探针;若存在,则确定所述检测探针所在的位置为所述目标输出点,同时确定所述检测探针所对应的参数为所述目标注入参数,并获取所述目标输出点的上下文信息。可选地,所述响应结果包括页面源代码,所述获取模块具体用于:根据虚拟解析器对所述页面源代码进行解析以得到解析界面;检测所述解析界面中是否存在所述检测探针;若存在,则确定所述检测探针所在的位置为所述目标输出点,同时确定所述检测探针所对应的参数为所述目标注入参数,并获取所述目标输出点的上下文信息。在本专利技术实施例的一优选实施方式中,所述接收模块还用于:发送所述目标特征值请求至所述Web服务器;接收所述Web服务器针对所述目标特征值请求的响应结果;所述检测装置还包括:检测模块,用于对所述目标特征值请求的响应结果进行特征值检测以得到XSS漏洞。具体地,该用户请求为http请求。与现有技术相比,本专利技术实施例中基于探针的漏洞检测方法及其装置,先对客户端所发送的用户请求中的参数构造检测探针,再发送带有检测探针的第一请求至Web服务器,Web服务器对其响应以形成响应结果,之后,根据该响应结果获取目标注入参数、目标输出点以及目标输出点的上下文信息,最后根据目标输出点的上下文信息构造目标特征值请求。即,本专利技术实施例引入检测探针以先获取目标输出点以及目标输出点的上下文信息,从而针对用户请求的每一个参数只需要构造一个带有特征值的请求,进而极大地减少了XSS检测工具中的测试用例数目,提高了检测效率。通过以下的描述并结合附图,本专利技术将变得更加清晰,这些附图用于解释本专利技术的实施例。附图说明图1为本专利技术基于探针的漏洞检测方法第一实施例的流程图。图2为本专利技术基于探针的漏洞检测方法第二实施例的流程图。图3为专利技术基于探针的漏洞检测装置第一实施例的结构图。图4为专利技术基于探针的漏洞检测装置第二实施例的结构图。具体实施方式现在参考附图描述本专利技术的实施例,附图中类似的元件标号代表类似的元件。请参考图1,是本专利技术第一实施例的基于探针的漏洞检测方法流程图。如图所示,该方法可以包括如下步骤:S101,接收客户端所发送的用户请求,该用户请求中包括至少一个参数。具体地,客户端(浏览器)先将XSS检测工具(即下文中所描述的漏洞检测装置)设置为代理,以用于后续代理客户端向Web服务器发送请求。之后,客户端向XSS检测工具发送用户请求(http请求),XSS检测工具接收该http请求、保存该请求的信息。进一步地,XSS检测工具将http请求发送至Web服务器。S102,对每一个参数构造检测探针并发送带有检测探针的第一请求至Web服务器,且检测探针具有唯一性。需要说明的是,检测探针的本质也是一种检测特征值,它的构造符合以下几条规则:(1)全局唯一性;(2)具有一定规则,以便于发现存储型的XSS问题;(3)尽量避免web应用的参数输入校验,减少与检测的失败率。例如,可以采用数字字符作为探针,如“99993679123”,其中“9999”是探针前缀,表示这是个探针,“3679123”是随机数,避免探针值之间产生冲突。具体地,XSS检测工具本文档来自技高网...

【技术保护点】
一种基于探针的漏洞检测方法,其特征在于,包括:接收客户端所发送的用户请求,所述用户请求中包括至少一个参数;对每一个所述参数构造检测探针并发送带有所述检测探针的第一请求至Web服务器,且所述检测探针具有唯一性;接收所述Web服务器针对所述第一请求的响应结果,并根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息;根据所述目标输出点的上下文信息构造目标特征值请求。

【技术特征摘要】
1.一种基于探针的漏洞检测方法,其特征在于,包括:接收客户端所发送的用户请求,所述用户请求中包括至少一个参数;对每一个所述参数构造检测探针并发送带有所述检测探针的第一请求至Web服务器,且所述检测探针具有唯一性;接收所述Web服务器针对所述第一请求的响应结果,并根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息;根据所述目标输出点的上下文信息构造目标特征值请求。2.如权利要求1所述的基于探针的漏洞检测方法,其特征在于,所述响应结果包括页面源代码,根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息具体包括:检测所述页面源代码中是否存在所述检测探针;若存在,则确定所述检测探针所在的位置为所述目标输出点,同时确定所述检测探针所对应的参数为所述目标注入参数,并获取所述目标输出点的上下文信息。3.如权利要求1所述的基于探针的漏洞检测方法,其特征在于,所述响应结果包括页面源代码,根据所述响应结果获取目标注入参数、目标输出点以及所述目标输出点的上下文信息具体包括:根据虚拟解析器对所述页面源代码进行解析以得到解析界面;检测所述解析界面中是否存在所述检测探针;若存在,则确定所述检测探针所在的位置为所述目标输出点,同时确定所述检测探针所对应的参数为所述目标注入参数,并获取所述目标输出点的上下文信息。4.如权利要求1-3任一项所述的基于探针的漏洞检测方法,其特征在于,构造目标特征值请求之后,所述方法还包括:发送所述目标特征值请求至所述Web服务器;接收所述Web服务器针对所述目标特征值请求的响应结果;对所述目标特征值请求的响应结果进行特征值检测以得到XSS漏洞。5.如权利要求4所述的基于探针的漏洞检测方法,其特征在于,所述用...

【专利技术属性】
技术研发人员:万振华
申请(专利权)人:深圳市九州安域科技有限公司深圳开源互联网安全技术有限公司安徽开源互联网安全技术有限公司
类型:发明
国别省市:广东;44

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

1