[发明专利]一种SQL注入漏洞检测方法和检测装置在审
申请号: | 201710742057.2 | 申请日: | 2017-08-25 |
公开(公告)号: | CN107704758A | 公开(公告)日: | 2018-02-16 |
发明(设计)人: | 陈栋 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F21/55 | 分类号: | G06F21/55;G06F21/57;G06F17/30;H04L29/06 |
代理公司: | 济南舜源专利事务所有限公司37205 | 代理人: | 林秋兰 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 注入 漏洞 检测 方法 装置 | ||
技术领域
本申请涉及Web应用安全监测技术领域,尤其涉及一种SQL注入漏洞检测方法和检测装置。
背景技术
为避免用户采用的应用程序构造动态的SQL语句执行非法的数据查询,需要对Web应用进行SQL注入漏洞测试。由于需要进行大量的SQL语句测试,为减小人工成本,SQL注入漏洞测试采用自动化检测工具批量化检测,并自动判断相应的检测语句是否有漏洞。
对一些使用了AntiCSRFToken校验技术的Web应用进行注入漏洞测试时,渗透测试工程师在手工检测时可以发现SQL注入漏洞;而使用自动化检测工具检测时,采用同样的查询字符串却不能发现注入漏洞,甚至提示测试参数不可注入的问题(例如,可能会提示POST parameter username does not seem to be injectable)。通过查询HTML源代码发现,此类Web应用返回的数据中具有一个隐藏的、由Web服务器随机生成的校验参数。客户端再次向web服务器提交数据时,Web服务器校验提交的查询请求中校验参数是否是上次生成的参数值;如果校验参数正确,则相应的查询请求被Web服务器处理;如果校验参数不正确,则相应的查询请求不被Web服务器处理,即不进行注入漏洞测试。
发明内容
本申请提供了一种SQL注入漏洞检测方法和检测装置,以解决设置校验技术的Web应用的自动注入漏洞测试的问题。
本发明实施例提供一种SQL注入漏洞检测方法,包括以下步骤:
向Web服务器发送第一查询请求;所述第一查询请求包括第一查询字符串,以及Web服务器在前查询响应中的校验参数;所述在前查询响应为在所述第一查询请求之前的查询请求对应的查询响应;
接收Web服务器响应第一查询请求返回的第一查询响应;
向Web服务器发送第二查询请求;所述第二查询请求包括第二查询字符串,以及所述第一查询响应中的校验参数;
接收Web服务器响应第二查询请求返回的第二查询响应;
其中:所述第一查询字符串和所述第二查询字符串之一是正常查询字符串,另一为与所述正常查询字符串对应的SQL注入漏洞检测字符串;
根据所述第一查询响应和所述第二查询响应中的响应数据判断Web服务器是否具有对应所述漏洞查询字符串的注入漏洞。
可选的,所述漏洞查询字符串包括基于布尔的盲注字符串、基于时间的盲注字符串和/或堆查询注入字符串。
可选的,所述方法基于Scrapy框架创建。
本发明实施例提供一种SQL注入漏洞检测装置,包括:
发送模块,用于向Web服务器发送第一查询请求和第二查询请求;
接收模块,用于接收Web服务器响应所述第一查询请求返回的第一查询响应,以及,接收Web服务器响应所述第二查询请求返回的第二查询响应;
提取模块,用于提取Web服务器在前查询响应中的校验参数,以及,提取所述第一查询响应中的校验参数;所述在前查询相应为在所述第一查询请求前的查询请求对应的查询响应;
其中:所述第一查询请求包括第一查询字符串,以及所述再前查询响应中的校验参数;所述第二查询请求包括第二查询字符串,以及所述第一查询响应中的校验参数;所述第一查询字符串和所述第二查询字符串之一是正常查询字符串,另一为与所述正常查询字符串对应的SQL注入漏洞检测字符串;
漏洞判断模块,用于根据所述第一查询响应和所述第二查询响应中的响应数据判断Web应用是否存在SQL注入。
可选的,所述漏洞查询字符串包括基于布尔的盲注字符串、基于时间的盲注字符串和/或堆查询注入字符串。
可选的,所述装置为基于Scrapy框架创建的装置。
采用本发明实施例提供的注入漏洞检测方法和检测装置,在进行注入漏洞检测时,可以通过提取查询响应中的校验参数,并将校验参数加入到后续查询请求中,以突破Web服务器端设置的校验比对过程,实现了绕过设置校验技术的Web应用的SQL注入漏洞检测。
附图说明
为更清楚地说明背景技术或本发明的技术方案,下面对现有技术或具体实施方式中结合使用的附图作简单地介绍;显而易见地,以下结合具体实施方式的附图仅是用于方便理解本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图;
图1是实施例提供的SQL注入漏洞检测方法流程图;
图2是实施例提供的SQL注入漏洞检测装置示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710742057.2/2.html,转载请声明来源钻瓜专利网。