[发明专利]漏洞检测方法以及漏洞检测装置有效
申请号: | 201610103718.2 | 申请日: | 2016-02-25 |
公开(公告)号: | CN107122665B | 公开(公告)日: | 2019-08-13 |
发明(设计)人: | 何双宁;马杰 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 黄威 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 漏洞 检测 方法 以及 装置 | ||
本发明提供一种漏洞检测方法,其包括构造设定数量的检测执行语句;将检测执行语句发送至检测服务器,以获取检测执行语句对应的返回时间延迟;根据检测执行语句的时间参数以及返回时间延迟,获取检测服务器对应的判断参数;根据检测服务器对应的判断参数,确定检测服务器的通用网关接口注入漏洞。本发明还提供一种漏洞检测装置。本发明的漏洞检测方法及漏洞检测装置通过多个检测执行语句的时间参数以及返回时间延迟,来确定检测服务器的漏洞,检测准确性高,且可被所有的MySQL数据库支持,兼容性强。
技术领域
本发明涉及检测领域,特别是涉及一种漏洞检测方法及漏洞检测装置。
背景技术
CGI(Common Gateway Interface,通用网关接口)的SQL(Structured QueryLanguage,结构化查询语言)注入漏洞是指网站服务器对输入校验存在缺陷,从而导致攻击者可通过SQL执行程序盗取网站服务器的后台数据的网站服务器漏洞。
网站服务器请求的输入方法主要是通过HTTP(HyperText Transfer Protocol,超文本传输协议)传输协议的GET或者POST方法。例如,某网站有这样一个网址:http://www.xxx.com/getinfo.php?id=1,用户访问该网址后,会执行一条SQL语句,获取网站服务器的数据库表中id为1的数据,并返回给用户。如果网站服务器没有对id这个参数做校验,可执行用户输入的任意SQL语句,那么攻击者就可以构造一个恶意的SQL语句,非法获取或者盗取该网站的数据。
现有技术可通过基于时间延迟的方式检测CGI的SQL注入漏洞,即构造一SQL语句,该SQL语句提交网站服务器执行后,会停留一段时间再返回执行结果,通过检测执行结果的返回时间延迟可判断该网站服务器是否存在CGI的SQL注入漏洞。
该SQL语句可通过以下两种方式构造:
1、使用SQL的sleep函数,攻击者输入sleep(n)的执行语句,网站服务器执行该语句会停留n秒后才会返回,这种检测方法的返回时间延迟基本只受到网络波动的影响,检测准确性较高,但是部分MySQL数据库不支持sleep方法。
2、使用SQL的benchmark函数,攻击者输入benchmark(n,function)的执行语句,其中function是数据库中的一个标准函数,n表示网站服务器实行该标准函数的次数。这里可以n为自变量X,网站服务器的返回时间延迟作为因变量Y,其满足以下关系:
Y=β1+β2X;
其中β1和β2均为常数。
上述检测方法适用于所有版本的MySQL数据库,但是该检测方法的返回时间延迟是不固定的,返回时间延迟会受到网络波动,服务器性能和负载等因素的影响,因而检测准确性较差。
发明内容
本发明实施例提供一种检测准确性高且兼容性较强的漏洞检测方法及漏洞检测装置;以解决现有的漏洞检测方法及漏洞检测装置的检测准确性较低或兼容性较差的技术问题。
本发明实施例提供一种漏洞检测方法,其包括:
构造设定数量的检测执行语句,其中每个所述检测执行语句对应的时间参数均不同;
将所述检测执行语句发送至检测服务器,以获取所述检测执行语句对应的返回时间延迟;
根据所述检测执行语句的时间参数以及返回时间延迟,获取所述检测服务器对应的判断参数;以及
根据所述检测服务器对应的判断参数,确定所述检测服务器的通用网关接口注入漏洞。
本发明实施例还提供一种漏洞检测装置,其包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610103718.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:安全防护方法及装置
- 下一篇:一种应用漏洞检测方法及系统