SQL注入漏洞检测方法、装置、设备及可读存储介质制造方法及图纸

技术编号:20917741 阅读:15 留言:0更新日期:2019-04-20 09:56
本发明专利技术公开了一种SQL注入漏洞检测方法、装置、设备及可读存储介质,该方法包括步骤:当获取到待测试网站的统一资源定位符URL请求后,确定所述URL请求的检测点,并构造所述检测点对应布尔逻辑参数的序列请求;获取执行所述URL请求和所述序列请求后得到的响应页面,对所述响应页面进行相似度分析,得到所述URL请求对应响应页面与所述序列请求中每一请求对应响应页面之间的相似度值;若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞。本发明专利技术通过根据响应页面之间的相似度来判断URL请求是否存在SQL注入漏洞,提高了检测SQL注入漏洞的准确率。

SQL Injection Vulnerability Detection, Devices, Devices and Readable Storage Media

The invention discloses an SQL injection vulnerability detection method, device, device and readable storage medium. The method includes steps: after obtaining a unified resource locator URL request of the website to be tested, the detection point of the URL request is determined, and the sequential request of the detection point corresponding to Boolean logic parameters is constructed; the sound obtained after executing the URL request and the sequential request is obtained. In response to the page, the similarity analysis of the response page is carried out, and the similarity value between the response page corresponding to the URL request and the response page corresponding to each request in the sequence request is obtained. If the similarity value satisfies the preset conditions, it is determined that the URL request has a SQL injection vulnerability. By judging whether there is a SQL injection vulnerability in the URL request according to the similarity between response pages, the invention improves the accuracy of detecting the SQL injection vulnerability.

【技术实现步骤摘要】
SQL注入漏洞检测方法、装置、设备及可读存储介质
本专利技术涉及通信
,尤其涉及一种SQL注入漏洞检测方法、装置、设备及可读存储介质。
技术介绍
目前对SQL(StructuredQueryLanguage,结构化查询语言)注入漏洞的检测方法通过是基于布尔判断的检测方法。目前基于布尔判断的SQL注入漏洞检测方法,在检测序列请求方面,通常是原始URL请求一次,再构造一次逻辑真的SQL语句参数值,一次逻辑假的SQL语句参数值的请求,共3次请求。在对比判断多次请求的网站响应页面时,通常是根据网站响应的报文长度(Content-Length)来判断是否存在SQL注入漏洞。但是由于网络波动,服务器负载状态变化等不稳定性因素,以及Web2.0时代下的动态网页的出现,导致通过布尔判断来检测URL请求是否存在SQL注入漏洞的准确率低下。
技术实现思路
本专利技术的主要目的在于提供一种SQL注入漏洞检测方法、装置、设备及可读存储介质,旨在解决现有的检测SQL注入漏洞的准确率低下的技术问题。为实现上述目的,本专利技术提供一种SQL注入漏洞检测方法,所述SQL注入漏洞检测方法包括步骤:当获取到待测试网站的统一资源定位符URL请求后,确定所述URL请求的检测点,并构造所述检测点对应布尔逻辑参数的序列请求;获取执行所述URL请求和所述序列请求后得到的响应页面,对所述响应页面进行相似度分析,得到所述URL请求对应响应页面与所述序列请求中每一请求对应响应页面之间的相似度值;若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞。优选地,所述构造所述检测点对应布尔逻辑参数的序列请求的步骤包括:为所述URL请求中的每一检测点构造一个逻辑真条件的请求,记为第一真请求;为所述URL请求中的每一检测点构造一个逻辑假条件的请求,记为第一假请求,以形成包括所述第一真请求和第一假请求的序列请求。优选地,所述为所述URL请求中的每一检测点构造一个逻辑假条件的请求,记为第一假请求,以形成包括所述第一真请求和第一假请求的序列请求的步骤包括:为所述URL请求中的每一检测点构造一个逻辑假条件的请求,记为第一假请求,并为所述第一真请求构造逻辑真条件的确认请求,记为第二真请求;为所述第一假请求构造逻辑假条件的确认请求,记为第二假请求,以形成包括所述第一真请求、第一假请求、第二真请求和第二假请求的序列请求。优选地,所述若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞的步骤包括:若确定所述URL请求对应的第一响应页面与所述第一真请求对应的第二响应页面之间的第一杰卡德系数大于第一阈值,则判断所述第一响应页面与所述第一假请求对应的第三响应页面之间的第二杰卡德系数是否小于第二阈值;若所述第二杰卡德系数小于所述第二阈值,则确定所述URL请求存在SQL注入漏洞。优选地,所述若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞的步骤包括:若确定所述URL请求对应的第一响应页面与所述第一真请求对应的第二响应页面之间的第一杰卡德系数大于第一阈值,则判断所述第一响应页面与所述第一假请求对应的第三响应页面之间的第二杰卡德系数是否小于第二阈值;若所述第二杰卡德系数小于所述第二阈值,则确定所述第一响应页面与所述第二真请求对应的第四响应页面之间的第三杰卡德系数,并计算所述第三杰卡德系数与所述第一杰卡德系数之间的第一差值;若所述第一差值小于第三阈值,则确定所述第一响应页面与所述第二假请求对应的第五响应页面之间的第四杰卡德系数,并计算所述第四杰卡德系数与所述第二杰卡德系数之间的第二差值;若所述第二差值小于第四阈值,则确定所述URL请求存在SQL注入漏洞。优选地,所述获取执行所述URL请求和所述序列请求后得到的响应页面,对所述响应页面进行相似度分析,得到所述URL请求对应响应页面与所述序列请求中每一请求对应响应页面之间的相似度值的步骤包括:获取执行所述URL请求和所述序列请求后对应得到的响应页面,并计算所述URL请求对应的第一响应页面与所述序列请求对应的每一序列响应页面之间的杰卡德系数;将所述杰卡德系数对应作为所述第一响应页面与各个所述序列响应页面之间的相似度值。优选地,所述获取所述执行序列请求后得到的响应页面,并计算所述URL请求对应的第一响应页面与所述序列请求对应的每一序列响应页面之间的杰卡德系数的步骤包括:获取执行所述URL请求和所述序列请求后对应得到的响应页面,根据预设的换行符将所述第一响应页面和所述序列响应页面对应的文本分割成字符段;根据预设的分隔符将所述字符段分割成字符串,对应得到所述第一响应页面和所述序列响应页面对应的元素;计算所述第一响应页面与每一所述序列响应页面之间元素的交集和并集,将所述交集除以对应的所述并集,得到对应的杰卡德系数。此外,为实现上述目的,本专利技术还提供一种SQL注入漏洞检测装置,所述SQL注入漏洞检测装置包括:确定模块,用于当获取到待测试网站的统一资源定位符URL请求后,确定所述URL请求的检测点;构造模块,用于构造所述检测点对应布尔逻辑参数的序列请求;获取模块,用于获取执行所述URL请求和所述序列请求后得到的响应页面;分析模块,用于对所述响应页面进行相似度分析,得到所述URL请求对应响应页面与所述序列请求中每一请求对应响应页面之间的相似度值;所述确定模块还用于若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞。此外,为实现上述目的,本专利技术还提供一种SQL注入漏洞检测设备,所述SQL注入漏洞检测设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的SQL注入漏洞检测程序,所述SQL注入漏洞检测程序被所述处理器执行时实现如上所述的SQL注入漏洞检测方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有SQL注入漏洞检测程序,所述SQL注入漏洞检测程序被处理器执行时实现如上所述的SQL注入漏洞检测方法的步骤。本专利技术通过构造URL请求检测点对应布尔逻辑参数的序列请求,执行URL请求和序列请求对应的URL请求,获取执行URL请求和序列请求后得到的响应页面,对响应页面进行相似度分析,得到URL请求对应响应页面与序列请求中每一请求对应响应页面之间的相似度值;若相似度值满足预设条件,则确定URL请求存在SQL注入漏洞,通过根据响应页面之间的相似度来判断URL请求是否存在SQL注入漏洞,提高了检测SQL注入漏洞的准确率。附图说明图1是本专利技术SQL注入漏洞检测方法较佳实施例的流程示意图;图2为本专利技术SQL注入漏洞检测装置较佳实施例的功能示意图模块图;图3是本专利技术实施例方案涉及的硬件运行环境的结构示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种SQL注入漏洞检测方法,参照图1,图1为本专利技术SQL注入漏洞检测方法较佳实施例的流程示意图。本专利技术实施例提供了SQL注入漏洞检测方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。SQL注入漏洞检测方法应用于服务器或者终端中,终端本文档来自技高网...

【技术保护点】
1.一种结构化查询语言SQL注入漏洞检测方法,其特征在于,所述SQL注入漏洞检测方法包括以下步骤:当获取到待测试网站的统一资源定位符URL请求后,确定所述URL请求的检测点,并构造所述检测点对应布尔逻辑参数的序列请求;获取执行所述URL请求和所述序列请求后得到的响应页面,对所述响应页面进行相似度分析,得到所述URL请求对应响应页面与所述序列请求中每一请求对应响应页面之间的相似度值;若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞。

【技术特征摘要】
1.一种结构化查询语言SQL注入漏洞检测方法,其特征在于,所述SQL注入漏洞检测方法包括以下步骤:当获取到待测试网站的统一资源定位符URL请求后,确定所述URL请求的检测点,并构造所述检测点对应布尔逻辑参数的序列请求;获取执行所述URL请求和所述序列请求后得到的响应页面,对所述响应页面进行相似度分析,得到所述URL请求对应响应页面与所述序列请求中每一请求对应响应页面之间的相似度值;若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞。2.如权利要求1所述的SQL注入漏洞检测方法,其特征在于,所述构造所述检测点对应布尔逻辑参数的序列请求的步骤包括:为所述URL请求中的每一检测点构造一个逻辑真条件的请求,记为第一真请求;为所述URL请求中的每一检测点构造一个逻辑假条件的请求,记为第一假请求,以形成包括所述第一真请求和第一假请求的序列请求。3.如权利要求2所述的SQL注入漏洞检测方法,其特征在于,所述为所述URL请求中的每一检测点构造一个逻辑假条件的请求,记为第一假请求,以形成包括所述第一真请求和第一假请求的序列请求的步骤包括:为所述URL请求中的每一检测点构造一个逻辑假条件的请求,记为第一假请求,并为所述第一真请求构造逻辑真条件的确认请求,记为第二真请求;为所述第一假请求构造逻辑假条件的确认请求,记为第二假请求,以形成包括所述第一真请求、第一假请求、第二真请求和第二假请求的序列请求。4.如权利要求2所述的SQL注入漏洞检测方法,其特征在于,所述若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞的步骤包括:若确定所述URL请求对应的第一响应页面与所述第一真请求对应的第二响应页面之间的第一杰卡德系数大于第一阈值,则判断所述第一响应页面与所述第一假请求对应的第三响应页面之间的第二杰卡德系数是否小于第二阈值;若所述第二杰卡德系数小于所述第二阈值,则确定所述URL请求存在SQL注入漏洞。5.如权利要求3所述的SQL注入漏洞检测方法,其特征在于,所述若所述相似度值满足预设条件,则确定所述URL请求存在SQL注入漏洞的步骤包括:若确定所述URL请求对应的第一响应页面与所述第一真请求对应的第二响应页面之间的第一杰卡德系数大于第一阈值,则判断所述第一响应页面与所述第一假请求对应的第三响应页面之间的第二杰卡德系数是否小于第二阈值;若所述第二杰卡德系数小于所述第二阈值,则确定所述第一响应页面与所述第二真请求对应的第四响应页面之间的第三杰卡德系数,并计算所述第三杰卡德系数与所述第一杰卡德系数之间的第一差值;若所述第一差值小于第三阈值,则确定所述...

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

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

1