一种检测漏洞的方法及装置制造方法及图纸

技术编号:8685561 阅读:142 留言:0更新日期:2013-05-09 05:10
本发明专利技术公开了一种检测漏洞的方法及装置,用以解决现有技术中检测漏洞的准确性较低、效率较低的问题。该方法在待检测URL和HTTP请求中添加包括定位字符串和检测字符串的特殊字符串,再采用该HTTP请求访问该URL,最后模拟浏览器对网站服务器返回的页面进行加载,根据加载后的页面的HTML代码中是否包含该检测字符串,判断该网站服务器是否存在安全漏洞。由于上述方法检测装置模拟浏览器对网站服务器返回的页面进行加载,因此即使页面中存在动态dom元素,仍可根据加载后的页面的HTML代码中是否包含检测字符串,来判断网站服务器是否存在安全漏洞,而且检测过程中也无需人为参与,从而提高了检测漏洞的准确性和效率。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种检测漏洞的方法及装置
技术介绍
文档对象模型(DocumentObject Model, dom)型跨站脚本(CrossSiteScripting, xss)漏洞是网页中一种常见的漏洞。由于Dom允许程序或脚本动态的访问和更新文档内容、结构和样式,dom中的一些对象属性和方法可以通过javascript直接操纵,如统一资源定位符(Uniform ResourceLocator, URL)、location、write等,而且客户端脚本可以通过dom动态检查和修改页面内容,并不依赖于服务器返回的页面,因此,如果用户输入的数据没有经过严格确认就用于页面dom的构建,就会产生dom型xss漏洞。目前,在对一个网站服务器进行安全漏洞检测时,通常会检测网站服务器在向客户端推送页面时,是否可以有效的滤掉页面中存在的dom型xss漏洞,如果网站服务器过滤掉了页面中存在的dom型xss漏洞,则说明网站服务器不存在安全漏洞,否则,说明网站服务器存在安全漏洞。在现有技术中,检测网站服务器是否可以有效的过滤掉页面中存在的dom型xss漏洞的方法有以下两种。第一种、构造dom型xss漏洞,并判断网站服务器是否可以过滤掉构造的该dom型xss漏洞,具体如图1所示。图1为现有技术中的第一种检测漏洞的过程,具体包括以下步骤:SlOl:检测装置获得待检测URL。S102:在该待检测URL的参数中添加预设的特殊字符串。S103:检测装置生成用于访问添加了特殊字符串的待检测URL的超文本传输协议(Hyper Text Transport Protocol, HTTP)请求。S104:在该HTTP请求的请求头中添加特殊字符串。S105:检测装置采用添加了特殊字符串的HTTP请求对添加了特殊字符串的待检测URL进行访问,并接收该待检测URL对应的网站服务器返回的页面。S106:判断该页面的超文本标记语言(Hyper Text Markup Language, HTML)代码中是否包含该预设的特殊字符串,若是,则执行步骤S107,否则执行步骤S108。S107:确定该待检测URL对应的网站服务器存在安全漏洞。如果接收到的页面中包含该预设的特殊字符串,则说明该待检测URL对应的网站服务器不能有效的过滤掉页面中存在的dom型xss漏洞,进而说明该待检测URL对应的网站服务器存在安全漏洞。S108:确定该待检测URL对应的网站服务器不存在安全漏洞。如果接收到的页面中未包含该预设的特殊字符串,则说明该待检测URL对应的网站服务器可以有效的过滤掉页面中存在的dom型xss漏洞,进而说明该待检测URL对应的网站服务器不存在安全漏洞。但是,如图1所示的第一种检测漏洞的方法只适用于页面中不存在动态dom元素(既存在输入点也存在输出点的dom元素)的场景。如果页面中存在动态dom元素,则网站服务器返回的页面的HTML代码中就会存在需要客户端通过浏览器在本地进行赋值的变量,因此,该页面只有被客户端的浏览器加载后,才能对该页面的HTML代码中存在的上述变量进行赋值,赋值后的变量就可能存在dom型xss漏洞。而在该页面被加载之前,尚不能知晓该页面的HTML代码中的上述变量会被赋予什么值,因此,上述如图1所示的方法并不能有效的检测包含有动态dom元素的页面中是否存在dom型xss漏洞,也就不能有效的检测相应网站服务器是否存在安全漏洞。第二种、人为的在网站服务器的后台代码中查找关键函数调用,以确定网站服务器的操作行为,据此判断网站服务器是否对dom型xss漏洞进行过滤。由于第二种方法需要人为的根据网站服务器的后台代码进行检测,因此检测效率较为低下。综上,现有技术中的第一种方法检测漏洞的准确性较低,第二种方法检测效率较低,均不能有效的检测网站服务器是否存在安全漏洞。
技术实现思路
本专利技术实施例提供一种检测漏洞的方法及装置,用以解决现有技术中检测漏洞的准确性较低、效率较低的问题。本专利技术实施例提供的一种检测漏洞的方法,包括:检测装置获得待检测统一资源定位符URL,在所述待检测URL的参数中添加预设的特殊字符串,所述特殊字符串中包括定位字符串和检测字符串;并生成用于访问添加了所述特殊字符串的待检测URL的超文本传输协议HTTP请求,并在所述HTTP请求中添加所述特殊字符串;以及采用添加了所述特殊字符串的HTTP请求对添加了所述特殊字符串的待检测URL进行访问,并接收所述待检测URL对应的网站服务器返回的页面;所述检测装置模拟浏览器对所述页面进行加载,查找加载后的页面的超文本标记语言HTML代码中包含的定位字符串,确定查找到的定位字符串所定位出的检测位置;如果加载后的页面的HTML代码中的检测位置上存在检测字符串,则确定所述待检测URL对应的网站服务器存在安全漏洞,如果加载后的页面的HTML代码中的检测位置上不存在检测字符串,或者存在将检测字符串转译或编码后的代码,则确定所述待检测URL对应的网站服务器不存在安全漏洞。本专利技术实施例提供的一种检测漏洞的装置,包括:第一构造模块,用于获得待检测统一资源定位符URL,在所述待检测URL的参数中添加预设的特殊字符串,所述特殊字符串中包括定位字符串和检测字符串;第二构造模块,用于生成用于访问添加了所述特殊字符串的待检测URL的超文本传输协议HTTP请求,并在所述HTTP请求中添加所述特殊字符串; 访问模块,用于采用添加了所述特殊字符串的HTTP请求对添加了所述特殊字符串的待检测URL进行访问,并接收所述待检测URL对应的网站服务器返回的页面;定位模块,用于模拟浏览器对所述页面进行加载,查找加载后的页面的超文本标记语言HTML代码中包含的定位字符串,确定查找到的定位字符串所定位出的检测位置;检测模块,如果加载后的页面的HTML代码中的检测位置上存在检测字符串,则确定所述待检测URL对应的网站服务器存在安全漏洞,如果加载后的页面的HTML代码中的检测位置上不存在检测字符串,或者存在将检测字符串转译或编码后的代码,则确定所述待检测URL对应的网站服务器不存在安全漏洞。本专利技术实施例提供一种检测漏洞的方法及装置,该方法检测装置针对待检测URL,构造用于访问该URL的HTTP请求,在待检测URL和HTTP请求中添加包括定位字符串和检测字符串的特殊字符串,再采用该HTTP请求访问该URL,最后模拟浏览器对网站服务器返回的页面进行加载,根据加载后的页面的HTML代码中是否包含该检测字符串,判断该网站服务器是否存在安全漏洞。由于上述方法检测装置模拟浏览器对网站服务器返回的页面进行加载,因此即使页面中存在动态dom元素,仍可根据加载后的页面的HTML代码中是否包含检测字符串,来判断网站服务器是否存在安全漏洞,而且检测过程中也无需人为参与,从而提高了检测漏洞的准确性和效率。附图说明图1为现有技术中的第一种检测漏洞的过程;图2为本专利技术实施例提供的检测漏洞的过程;图3为本专利技术实施例提供的检测漏洞的详细过程;图4为本专利技术实施例提供的检测漏洞的装置结构示意图。具体实施例方式图2为本专利技术实施例提供的检测漏洞的过程,具体包括以下步骤:S201:检测装置获得待检测URL,在该待检测URL的参数中添加预设的特殊字符串O其中,该特本文档来自技高网
...

【技术保护点】
一种检测漏洞的方法,其特征在于,包括:检测装置获得待检测统一资源定位符URL,在所述待检测URL的参数中添加预设的特殊字符串,所述特殊字符串中包括定位字符串和检测字符串;并生成用于访问添加了所述特殊字符串的待检测URL的超文本传输协议HTTP请求,并在所述HTTP请求中添加所述特殊字符串;以及采用添加了所述特殊字符串的HTTP请求对添加了所述特殊字符串的待检测URL进行访问,并接收所述待检测URL对应的网站服务器返回的页面;所述检测装置模拟浏览器对所述页面进行加载,查找加载后的页面的超文本标记语言HTML代码中包含的定位字符串,确定查找到的定位字符串所定位出的检测位置;如果加载后的页面的HTML代码中的检测位置上存在检测字符串,则确定所述待检测URL对应的网站服务器存在安全漏洞,如果加载后的页面的HTML代码中的检测位置上不存在检测字符串,或者存在将检测字符串转译或编码后的代码,则确定所述待检测URL对应的网站服务器不存在安全漏洞。

【技术特征摘要】
1.一种检测漏洞的方法,其特征在于,包括: 检测装置获得待检测统一资源定位符URL,在所述待检测URL的参数中添加预设的特殊字符串,所述特殊字符串中包括定位字符串和检测字符串;并 生成用于访问添加了所述特殊字符串的待检测URL的超文本传输协议HTTP请求,并在所述HTTP请求中添加所述特殊字符串;以及 采用添加了所述特殊字符串的HTTP请求对添加了所述特殊字符串的待检测URL进行访问,并接收所述待检测URL对应的网站服务器返回的页面; 所述检测装置模拟浏览器对所述页面进行加载,查找加载后的页面的超文本标记语言HTML代码中包含的定位字符串,确定查找到的定位字符串所定位出的检测位置; 如果加载后的页面的HTML代码中的检测位置上存在检测字符串,则确定所述待检测URL对应的网站服务器存在安全漏洞,如果加载后的页面的HTML代码中的检测位置上不存在检测字符串,或者存在将检测字符串转译或编码后的代码,则确定所述待检测URL对应的网站服务器不存在安全漏洞。2.按权利要求1所述的方法,其特征在于,所述检测装置在模拟浏览器对所述页面进行加载之前,所述方法还包括: 获取所述待检测URL对应的页面,确定所述待检测URL对应的页面的HTML代码中存在满足指定条件的dom元素,其中,满足指定条件的dom元素为:同时存在输入点和输出点的dom j Li ο3.按权利要求1所述的方法,其特征在于,在所述待检测URL的参数中添加预设的特殊字符串,具体包括: 识别所述待检测URL中的每个参数和锚点;并 针对识别出的每个参数,在该参数后添加所述特殊字符串;以及 针对识别出的每个锚点,在该锚点中添加所述特殊字符串。4.按权利要求1所述的方法,其特征在于,在所述HTTP请求中添加所述特殊字符串,具体包括: 构造包含所述特殊字符串的Referer字段,并将所述Referer字段添加到所述HTTP请求的请求头中。5.按权利要求1所述的方法,其特征在于,生成用于访问添加了所述特殊字符串的待检测URL的HTTP请求之前,所述方法还包括: 在添加了所述特殊字符串的待检测URL中添加错误参数; 当加载后的页面的HTML代码中的检测位置上不存在检测字符串,或者存在将检测字符串转译或编码后的代码时,所述方法还包括: 如果加载后的页面的HTML代码中包含了所述错误参数,则确定所述待检测URL对应的网站服务器存在安全漏洞,如果加载后的页面的HTML代码中包含了将所述错误参数转译或编码后的代码,或者未包含所述错误参数,则确定所述...

【专利技术属性】
技术研发人员:罗诗尧
申请(专利权)人:微梦创科网络科技中国有限公司
类型:发明
国别省市:

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

1