一种交互XSS漏洞的检测方法及其系统技术方案

技术编号:16064315 阅读:38 留言:0更新日期:2017-08-22 16:47
本发明专利技术适用于Web程序应用领域,提供了一种交互XSS漏洞的检测方法及其系统。所述方法包括:发送构造的带有特征值的检测请求至Web服务器,并接收所述Web服务器返回的响应页面;解析预先在所述响应页面注入的DOM监听器,然后解析预先在所述响应页面注入的智能事件模拟器,以通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件;根据所述DOM监听器的监听结果,判断是否存在XSS漏洞。通过上述方法能够通过智能事件模拟器的执行达到识别并模拟用户交互的效果,从而使XSS检测工具将得到完整的DOM结构。通过DOM监听器实现对响应页面的DOM结构变化情况的实时监听,进而实现对响应页面交互型XSS漏洞的成功检测。

Method and system for detecting mutual XSS vulnerability

The invention is applicable to the application field of Web programs, and provides an interactive XSS vulnerability detection method and system thereof. The method includes: detecting a request to the Web server to send with the characteristics of constructed values, and receives the Web response page returned by the server; in the pre analytical response page DOM listener injection, and then advance the response analysis of intelligent event simulator into the page, through the intelligent event simulator found and automatically trigger the response of DOM structure on the event page; according to the DOM listener monitoring results, to determine whether there is XSS vulnerabilities. Through the above method, the effect of the user interaction can be recognized and simulated by the execution of the intelligent event simulator, so that the XSS detection tool will obtain a complete DOM structure. Through the DOM listener, to realize the real-time monitoring of the change of the DOM structure of the response page, and then to realize the successful detection of the interactive XSS vulnerability of the response page.

【技术实现步骤摘要】
一种交互XSS漏洞的检测方法及其系统
本专利技术实施例属于Web程序应用领域,尤其涉及一种交互XSS漏洞的检测方法及其系统。
技术介绍
随着Web应用的广泛使用,Web安全问题也日益突出,跨站脚本攻击(Cross-sitescripting,XSS)是攻击者通过向web应用的页面中注入特定的脚本,当用户浏览该页面时,攻击者注入的脚本就会被执行,从而达到攻击的目的。XSS已经成为Web应用程序中最常见的漏洞之一,对XSS漏洞的自动化检测也成为一项重要的技术。Web2.0技术的发展,使Web应用的页面不仅仅能展示静态内容,还有越来越多的与用户交互的功能,这部分交互功能往往通过在Web页面嵌入JavaScript和CSS脚本来实现。通过ajax技术,甚至可以实现在页面不刷新和不提交的情况下,与服务端进行交互。这些动态交互可以动态修改或者生成一些页面的元素,在这一过程中,也会有XSS漏洞产生。传统的XSS检测方法大多是是靠检测响应中的特征值来发现XSS漏洞的,具体地,首先捕获Web应用的http请求,然后构造并向Web服务器发送带有检测特征值的请求,再在这些请求响应的页面源代码中检测特征值。如果在某处检测到特征值,则认为此处即为一个XSS漏洞。但由于现有的部分交互功能,通过ajax技术甚至可以实现在页面不刷新和不提交的情况下,与Web服务器进行交互,即不用发送http请求也能与Web服务器交互,而这些动态交互可以动态修改或者生成一些页面的元素,在这一过程中,也会有XSS漏洞产生,因此,现有方法不能发现由脚本动态执行产生的XSS漏洞。故需要提出一种针对用户交互过程中产生的XSS漏洞的检测方法。
技术实现思路
本专利技术实施例提供了一种交互XSS漏洞的检测方法,旨在解决现有的方法中,无法检测出由于脚本动态执行产生的XSS漏洞的问题。本专利技术实施例第一方面,提供了一种交互XSS漏洞的检测方法,所述交互XSS漏洞的检测方法包括:发送构造的带有特征值的检测请求至Web服务器,并接收所述Web服务器返回的响应页面;解析预先在所述响应页面注入的DOM监听器,以随时监听所述响应页面的DOM结构的变化情况;解析预先在所述响应页面注入的智能事件模拟器,以通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件;根据所述响应页面的DOM结构上的事件的被触发情况及所述DOM监听器的监听结果判断是否存在XSS漏洞。本专利技术实施例的第二方面,提供一种交互XSS漏洞的检测系统,所述交互XSS漏洞的检测系统包括:检测请求发送单元,用于发送构造的带有特征值的检测请求至Web服务器,并接收所述Web服务器返回的响应页面;DOM监听器解析单元,用于解析预先在所述响应页面注入的DOM监听器,以随时监听所述响应页面的DOM结构的变化情况;智能事件模拟器解析单元,用于解析预先在所述响应页面注入的智能事件模拟器,以通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件;判断单元,用于根据所述响应页面的DOM结构上的事件的被触发情况及所述DOM监听器的监听结果判断是否存在XSS漏洞。在本专利技术实施例中,首先发送构造的带有特征值的检测请求到Web服务器,并接收Web服务器反馈的响应页面,解析预先在响应页面注入的DOM监听器,以随时监听响应页面的DOM结构;解析并执行预先在响应页面注入的智能事件模拟器,以触发响应页面的DOM结构上的各种事件;智能事件模拟器可以达到识别并模拟用户交互的效果,从而使XSS检测工具将得到完整的DOM结构。然后再通过已经解析的DOM监听器,监听响应页面的DOM结构是否有变化,根据监听结果判断是否检测到XSS漏洞。DOM监听器实现了对响应页面的DOM结构的实时监听,从而实现对响应页面交互型XSS漏洞的成功检测。附图说明图1是本专利技术第一实施例提供的一种交互XSS的检测方法的流程图;图2是本专利技术另一实施例提供的一种交互XSS的检测方法的流程图;图3是本专利技术第二实施例提供的一种交互XSS的检测系统的结构图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例中,首先发送构造的带有特征值的检测请求到Web服务器,并接收Web服务器反馈的响应页面,解析预先在响应页面注入的DOM监听器,以实现对响应页面的DOM结构的监听;解析并执行预先在响应页面注入的智能事件模拟器,以触发响应页面的DOM结构上的各种事件;通过已经解析DOM监听器,监听响应页面的DOM结构是否有变化,根据监听结果判断是否检测到XSS漏洞。为了说明本专利技术所述的技术方案,下面通过具体实施例来进行说明。实施例一:图1示出了本专利技术第一实施例提供的一种交互XSS漏洞的检测方法的流程图,详述如下:步骤S11,发送构造的带有特征值的检测请求至Web服务器,并接收所述Web服务器返回的响应页面;该步骤中,XSS检测工具接收并保存客户端向Web服务器发送的http请求,根据所述http请求构造出特征值;具体地,以接收并保存的用户http请求为基础,逐个修改每一个http请求的参数值,将所述参数值修改成特征值。所述特征值为一个字符串,其目的是尝试进行XSS的注入攻击。比如一个特征值可以是:<divid=”xss123”></div>,如果页面上没做XSS编码保护,则这个div将会作为一个DOM节点插入到DOM结构里。另外,针对不同的页面输出点,所构造的特征值也可能会不同;比如上面描述的特征值可以应用在输出点为html的场景,如果输出点在JavaScript代码中,则构造的特征值就需要是符合JavaScript语法的可以破坏输出点上下文结构的字符串。根据XSS检测工具接收并存储的http请求构造出特征值后,发送带有所述特征值的检测请求到Web服务器,Web服务器在接收到所述检测请求后,对检测请求作出响应,并反馈响应页面到XSS检测工具。步骤S12,解析预先在所述响应页面注入的DOM监听器,以随时监听所述响应页面的DOM结构的变化情况;所述DOM监听器也是一段JavaScript代码,实现了对响应页面的DOM结构的实时监听,当响应页面的DOM结构由于事件被触发等情况的发生而发生改变时,可通过DOM监听器很好的监听到这一变化。步骤S13,解析预先在所述响应页面注入的智能事件模拟器,以通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件;该步骤中,XSS检测工具在接收到Web服务器反馈的响应页面后,向所述响应页面注入智能事件模拟器,所述智能事件模拟器是一段JavaScript代码,用于发现并自动触发响应页面的DOM结构上的各种事件。XSS检测工具解析并执行智能事件模拟器,以通过智能事件模拟器发现并自动触发所接收的响应页面的DOM结构上的各种事件。优选地,所述通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件,具体包括:遍历经解析后的所述响应页面的DOM结构中所有控件;模拟触发所述控件包含的各种事件。具体地,智能事件模拟器被解析并执行时,首先遍历响应页面的DOM结构中包含的所有控件,根据所述控本文档来自技高网
...
一种交互XSS漏洞的检测方法及其系统

【技术保护点】
一种交互XSS漏洞的检测方法,其特征在于,所述交互XSS漏洞的检测方法包括:发送构造的带有特征值的检测请求至Web服务器,并接收所述Web服务器返回的响应页面;解析预先在所述响应页面注入的DOM监听器,以随时监听所述响应页面的DOM结构的变化情况;解析预先在所述响应页面注入的智能事件模拟器,以通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件;根据所述响应页面的DOM结构上的事件的被触发情况及所述DOM监听器的监听结果,判断是否存在XSS漏洞。

【技术特征摘要】
1.一种交互XSS漏洞的检测方法,其特征在于,所述交互XSS漏洞的检测方法包括:发送构造的带有特征值的检测请求至Web服务器,并接收所述Web服务器返回的响应页面;解析预先在所述响应页面注入的DOM监听器,以随时监听所述响应页面的DOM结构的变化情况;解析预先在所述响应页面注入的智能事件模拟器,以通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件;根据所述响应页面的DOM结构上的事件的被触发情况及所述DOM监听器的监听结果,判断是否存在XSS漏洞。2.根据权利要求1所述的检测方法,其特征在于,在所述解析预先在所述响应页面注入的智能事件模拟器之前,包括:解析所述响应页面,以检测所述响应页面在页面初始化时生成的页面元素的XSS漏洞。3.根据权利要求1所述的检测方法,其特征在于,所述通过所述智能事件模拟器发现并自动触发所述响应页面的DOM结构上的事件,具体包括:遍历经解析后的所述响应页面的DOM结构中所有控件;模拟触发所述控件包含的各种事件。4.根据权利要求1所述的检测方法,其特征在于,所述根据所述响应页面的DOM结构上的事件的被触发情况及所述DOM监听器的监听结果,判断是否存在XSS漏洞,具体包括:解析智能事件模拟器,以使所述DOM监听器随时监听所述响应页面的DOM结构上的事件被触发后,所述响应页面的DOM结构的变化情况;根据监听到的响应页面的DOM结构中是否存在新增加的所述特征值,判断是否发现XSS漏洞。5.根据权利要求1所述的检测方法,其特征在于,在根据所述响应页面的DOM结构上的事件的被触发情况及所述DOM监听器的监听结果,判断是否存在XSS漏洞之后,还包括:在确认发现XSS漏洞时,上报检测结...

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

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

1