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

技术编号:20014159 阅读:31 留言:0更新日期:2019-01-05 22:26
本申请实施例公开了一种注入漏洞检测方法及装置,其中方法包括:获取第一参数集合,该第一参数集合中包括第一页面和第二页面之间不同的页面参数,向服务器发送N个第三请求和M个第四请求,并接收该服务器针对该N个第三请求返回的N个第三页面和针对该M个第四请求返回的M个第四页面,再获取第二参数集合,该第二参数集合包括该N个第三页面和该第一页面中每两个页面之间不同的页面参数,以及该M个第四页面和该第二页面中每两个页面之间不同的页面参数,当该第一参数集合中存在至少一个页面参数不在该第二参数集合中时,则确定该服务器中存在注入漏洞。采用本申请实施例,可以减少误报的次数,提高检测注入漏洞的准确性。

An Injection Vulnerability Detection Method and Device

The embodiment of this application discloses an injection vulnerability detection method and device, which includes acquiring a set of first parameters, including different page parameters between the first page and the second page, sending N third requests and M fourth requests to the server, and receiving N third pages returned by the server for the N third requests and M third pages for the N third requests. The fourth request returns M fourth pages, and then obtains the second parameter set. The second parameter set includes the different page parameters between the N third pages and each two pages in the first page, and the different page parameters between the M fourth page and each two pages in the second page. When there is at least one page parameter in the first parameter set that is not the second parameter. When in the set of numbers, it is determined that there is an injection vulnerability in the server. The application embodiment can reduce the number of false positives and improve the accuracy of detecting injection vulnerabilities.

【技术实现步骤摘要】
一种注入漏洞检测方法及装置
本申请涉及互联网
,尤其涉及一种注入漏洞检测方法及装置。
技术介绍
注入漏洞是编写代码的时候,没有对用户输入数据的合法性进行判断产生的。目前在注入漏洞检测中相似度检测是一种常见的方法。现有的相似度检测,主要是利用相似算法(如局部敏感哈希算法simhash、最小哈希算法minhash等)计算真逻辑(sql真逻辑)请求返回的页面内容与假逻辑(sql假逻辑)请求返回的页面内容的相似度值。当相似度值大于预设阈值时,则认为这两个页面相似,不存在注入漏洞,当相似度值小于预设阈值时,则认为这两个页面不相似,存在注入漏洞。然而,由于很多页面本身就是动态变化的,还有些页面在多次请求时返回的页面内容是动态变化的,因此,通过计算两个页面的相似度值来判断是否存在注入漏洞,存在大量的误报。
技术实现思路
本申请实施例提供一种注入漏洞检测方法及装置,可以减少误报的次数,提高检测注入漏洞的准确性。第一方面,本申请实施例提供了一种注入漏洞检测方法,该方法包括:获取第一参数集合,该第一参数集合中包括第一页面和第二页面之间不同的页面参数,该第一页面为服务器针对第一逻辑类型的第一请求返回的页面,该第二页面为所述服务器针对第二逻辑类型的第二请求返回的页面;向所述服务器发送N个第三请求和M个第四请求,并接收该服务器针对该N个第三请求分别返回的N个第三页面和针对该M个第四请求分别返回的M个第四页面,其中第三请求为在用于注入漏洞检测的目标请求中插入该第一逻辑类型的任一字段得到的请求,第四请求为在该目标请求中插入该第二逻辑类型的任一字段得到的请求;获取第二参数集合,该第二参数集合中包括该N个第三页面和该第一页面中每两个页面之间不同的页面参数,以及该M个第四页面和该第二页面中每两个页面之间不同的页面参数;若该第一参数集合中存在至少一个页面参数不在该第二参数集合中,则确定该服务器中存在注入漏洞。结合第一方面,在一种可能的实施方式中,在向服务器发送N个第三请求和M个第四请求之前,该方法还包括:针对该第一逻辑类型的N个字段中的任一字段,将该字段插入该目标请求的统一资源定位符URL的参数字段中形成一个第三请求;针对该第二逻辑类型的M个字段中的任一字段,将该字段插入该目标请求的URL的参数字段中形成一个第四请求。结合第一方面,在一种可能的实施方式中,在向服务器发送N个第三请求和M个第四请求之前,该方法还包括:针对该第一逻辑类型的N个字段中的任一字段,将该字段插入该目标请求的目标字段中形成一个第三请求;针对该第二逻辑类型的M个字段中的任一字段,将该字段插入该目标请求的目标字段中形成一个第四请求。其中,该目标字段包括Host字段、Referer字段、Cookie字段中的一种或多种。结合第一方面,在一种可能的实施方式中,上述页面参数包括文档对象模型DOM节点;获取第二参数集合,包括:获取该第一页面按照DOM进行解析后得到的第一节点集合和该第二页面按照该DOM进行解析后的第二节点集合;将该N个第三页面按照该DOM进行解析,得到N个第三节点集合;将该M个第四页面按照该DOM进行解析,得到M个第四节点集合;将该N个第三节点集合和该第一节点集合中每两个节点集合之间不同的DOM节点记录至该第二参数集合中;将该M个第四节点集合和该第二节点集合中每两个节点集合之间不同的DOM节点记录至该第二参数集合中。其中,一个页面对应一个节点集合,一个节点集合包括至少一个DOM节点。结合第一方面,在一种可能的实施方式中,在获取第二参数集合之后,该方法还包括:将该第一参数集合中的各个页面参数与该第二参数集合中的各个页面参数之间进行匹配,确定该第一参数集合中的每个页面参数是否都在该第二参数集合中。在另一种可能的实施方式中,在获取第二参数集合之后,该方法还包括:将该第一参数集合中的各个DOM节点与该第二参数集合中的各个DOM节点之间进行匹配,确定该第一参数集合中的每个DOM节点是否都在该第二参数集合中。结合第一方面,在一种可能的实施方式中,该方法,还包括:若该第一参数集合中每个页面参数都在该第二参数集合中,则确定该服务器中不存在该注入漏洞。在另一种可能的实施方式中,在确定该服务器中不存在该注入漏洞时,可以输出安全提示信息,该安全提示信息可以用于提示该服务器已被检测且不存在该注入漏洞。结合第一方面,在一种可能的实施方式中,在确定该服务器中存在注入漏洞之后,还包括:输出报警提示信息,该报警提示信息用于提示该服务器中存在该注入漏洞。第二方面,本申请实施例提供了一种注入漏洞检测装置,该装置包括:第一获取模块,用于获取第一参数集合,该第一参数集合中包括第一页面和第二页面之间不同的页面参数,该第一页面为服务器针对第一逻辑类型的第一请求返回的页面,该第二页面为该服务器针对第二逻辑类型的第二请求返回的页面;收发模块,用于向该服务器发送N个第三请求和M个第四请求,并接收该服务器针对该N个第三请求分别返回的N个第三页面和针对该M个第四请求分别返回的M个第四页面,其中第三请求为在用于注入漏洞检测的目标请求中插入该第一逻辑类型的任一字段得到的请求,第四请求为在该目标请求中插入该第二逻辑类型的任一字段得到的请求;第二获取模块,用于获取第二参数集合,该第二参数集合中包括该N个第三页面和该第一页面中每两个页面之间不同的页面参数,以及该M个第四页面和该第二页面中每两个页面之间不同的页面参数;确定模块,用于当该第一参数集合中存在至少一个页面参数不在该第二参数集合中时,确定该服务器中存在注入漏洞。结合第二方面,在一种可能的实施方式中,该装置还包括:第一插入模块,用于针对该第一逻辑类型的N个字段中的任一字段,将该字段插入该目标请求的统一资源定位符URL的参数字段中形成一个第三请求;该第一插入模块,还用于针对该第二逻辑类型的M个字段中的任一字段,将该字段插入该目标请求的URL的参数字段中形成一个第四请求。结合第二方面,在一种可能的实施方式中,该装置还包括:第二插入模块,用于针对该第一逻辑类型的N个字段中的任一字段,将该字段插入该目标请求的目标字段中形成一个第三请求;该第二插入模块,还用于针对该第二逻辑类型的M个字段中的任一字段,将该字段插入该目标请求的目标字段中形成一个第四请求。其中,该目标字段包括Host字段、Referer字段、Cookie字段中的一种或多种,该在该目标请求的目标字段中每插入一个字段得到一个请求。结合第二方面,在一种可能的实施方式中,上述页面参数包括文档对象模型DOM节点;上述第二获取模块具体用于:获取该第一页面按照DOM进行解析后得到的第一节点集合和该第二页面按照该DOM进行解析后的第二节点集合;将该N个第三页面按照该DOM进行解析,得到N个第三节点集合;将该M个第四页面按照该DOM进行解析,得到M个第四节点集合;将该N个第三节点集合和该第一节点集合中每两个节点集合之间不同的DOM节点记录至该第二参数集合中;将该M个第四节点集合和该第二节点集合中每两个节点集合之间不同的DOM节点记录至该第二参数集合中。其中,一个页面对应一个节点集合,一个节点集合包括至少一个DOM节点。结合第二方面,在一种可能的实施方式中,该装置还包括:匹配模块,用于将该第一参数集合中的各个页面参数与该第二本文档来自技高网...

【技术保护点】
1.一种注入漏洞检测方法,其特征在于,包括:获取第一参数集合,所述第一参数集合中包括第一页面和第二页面之间不同的页面参数,所述第一页面为服务器针对第一逻辑类型的第一请求返回的页面,所述第二页面为所述服务器针对第二逻辑类型的第二请求返回的页面;向所述服务器发送N个第三请求和M个第四请求,并接收所述服务器针对所述N个第三请求分别返回的N个第三页面和针对所述M个第四请求分别返回的M个第四页面,其中第三请求为在用于注入漏洞检测的目标请求中插入所述第一逻辑类型的任一字段得到的请求,第四请求为在所述目标请求中插入所述第二逻辑类型的任一字段得到的请求;获取第二参数集合,所述第二参数集合中包括所述N个第三页面和所述第一页面中每两个页面之间不同的页面参数,以及所述M个第四页面和所述第二页面中每两个页面之间不同的页面参数;若所述第一参数集合中存在至少一个页面参数不在所述第二参数集合中,则确定所述服务器中存在注入漏洞。

【技术特征摘要】
1.一种注入漏洞检测方法,其特征在于,包括:获取第一参数集合,所述第一参数集合中包括第一页面和第二页面之间不同的页面参数,所述第一页面为服务器针对第一逻辑类型的第一请求返回的页面,所述第二页面为所述服务器针对第二逻辑类型的第二请求返回的页面;向所述服务器发送N个第三请求和M个第四请求,并接收所述服务器针对所述N个第三请求分别返回的N个第三页面和针对所述M个第四请求分别返回的M个第四页面,其中第三请求为在用于注入漏洞检测的目标请求中插入所述第一逻辑类型的任一字段得到的请求,第四请求为在所述目标请求中插入所述第二逻辑类型的任一字段得到的请求;获取第二参数集合,所述第二参数集合中包括所述N个第三页面和所述第一页面中每两个页面之间不同的页面参数,以及所述M个第四页面和所述第二页面中每两个页面之间不同的页面参数;若所述第一参数集合中存在至少一个页面参数不在所述第二参数集合中,则确定所述服务器中存在注入漏洞。2.根据权利要求1所述的方法,其特征在于,所述向服务器发送N个第三请求和M个第四请求之前,所述方法还包括:针对所述第一逻辑类型的N个字段中的任一字段,将所述字段插入所述目标请求的统一资源定位符URL的参数字段中形成一个第三请求;针对所述第二逻辑类型的M个字段中的任一字段,将所述字段插入所述目标请求的URL的参数字段中形成一个第四请求。3.根据权利要求1所述的方法,其特征在于,所述向服务器发送N个第三请求和M个第四请求之前,所述方法还包括:针对所述第一逻辑类型的N个字段中的任一字段,将所述字段插入所述目标请求的目标字段中形成一个第三请求;针对所述第二逻辑类型的M个字段中的任一字段,将所述字段插入所述目标请求的目标字段中形成一个第四请求;其中,所述目标字段包括Host字段、Referer字段、Cookie字段中的一种或多种。4.根据权利要求1-3任一项所述的方法,其特征在于,所述页面参数包括文档对象模型DOM节点;所述获取第二参数集合,包括:获取所述第一页面按照DOM进行解析后得到的第一节点集合和所述第二页面按照所述DOM进行解析后的第二节点集合;将所述N个第三页面按照所述DOM进行解析,得到N个第三节点集合;将所述M个第四页面按照所述DOM进行解析,得到M个第四节点集合;将所述N个第三节点集合和所述第一节点集合中每两个节点集合之间不同的DOM节点记录至所述第二参数集合中;将所述M个第四节点集合和所述第...

【专利技术属性】
技术研发人员:熊庆昌
申请(专利权)人:平安科技深圳有限公司
类型:发明
国别省市:广东,44

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

1