[发明专利]一种SQL注入检测方法及装置在审
申请号: | 202111580861.8 | 申请日: | 2021-12-22 |
公开(公告)号: | CN114443685A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 刘大光 | 申请(专利权)人: | 奇安信科技集团股份有限公司;网神信息技术(北京)股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/22 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王宇杨 |
地址: | 100088 北京市西城区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 注入 检测 方法 装置 | ||
本发明实施例提供一种SQL注入检测方法及装置。其中,该方法包括:接收用户请求,用户请求包括至少一个参数,对于至少一个参数中的每个参数,通过预设的至少一个SQL模板,构建对应至少一个SQL模板的至少一个SQL语句;根据至少一个SQL语句生成至少一个语法树;将至少一个SQL模板对应的至少一个标准语法树与至少一个语法树对比,根据对比结果判断用户请求是否为SQL注入。减少了SQL注入的漏报,提高了检测准确率,增强了对未知SQL注入方式的检测能力。
技术领域
本发明涉及信息安全领域,尤其涉及一种SQL注入检测方法及装置。
背景技术
SQL注入是一种常用的且易于实施的web攻击手段,它通过将SQL代码添加到输入参数中,再传递到服务器解析并执行的一种攻击手法。目前对SQL注入的检测手法主要分为三种,基于规则、基于机器学习、基于语法分析。
当前语法分析SQL注入检测,通常使用的方法是基于语法分析SQL注入检测方法。通常基于语法分析SQL注入检测方案通过识别用户表单输入的单词,判断单词是否是关键字、变量、变量名,形成词素表,通过语法规则分析,提炼出词素结构串。通过提取的词素结构串和标准结构串进行比较来判断是否是SQL注入。这样可以解决很多绕过问题,减少漏报。
但是提取词素结构串和标准结构串本质还是一种基于语法特征的匹配,如果特征不够全面就会出现漏报,而且不能应对新出现的注入方式,因此,现有方法对漏报和对未知SQL注入方式的检测能力比较弱。
发明内容
针对现有技术中的问题,本发明实施例提供一种SQL注入检测方法及装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种SQL注入检测方法,包括:接收收用户请求,所述用户请求包括至少一个参数,对于所述至少一个参数中的每个参数,通过预设的至少一个SQL模板,构建对应所述至少一个SQL模板的至少一个SQL语句;根据所述至少一个SQL语句生成至少一个语法树;将所述至少一个SQL模板对应的至少一个标准语法树与所述至少一个语法树对比,根据对比结果判断所述用户请求是否为SQL注入。
进一步地,所述接收用户请求,所述接收用户请求,所述用户请求包括至少一个参数,对于所述至少一个参数中的每个参数,通过预设的至少一个SQL模板,构建对应所述至少一个SQL模板的至少一个SQL语句,包括:接收用户请求,将所述用户请求切割,得到所述至少一个参数,所述参数由key值和value值组成;对于所述至少一个参数中的每个参数,根据所述参数的key值和value值,通过预设的至少一个SQL模板,构建对应所述至少一个SQL模板的至少一个SQL语句。
进一步地,所述用户请求包括http请求。
进一步地,所述根据所述至少一个SQL语句生成至少一个语法树,包括:通过词法分析引擎,标记所述至少一个SQL语句中的关键字和变量;通过语法解析引擎,根据所述至少一个SQL语句中标记的关键字和变量生成所述至少一个语法树。
进一步地,所述将所述至少一个SQL模板对应的至少一个标准语法树与所述至少一个语法树对比,包括:将所述至少一个SQL模板对应的至少一个标准语法树中的关键字和变量与所述至少一个语法树的关键字和变量对比。
进一步地,所述将所述至少一个SQL模板对应的至少一个标准语法树中的关键字和变量与所述至少一个语法树的关键字和变量对比,包括:将所述至少一个SQL模板对应的至少一个标准语法树中的关键字的位置和变量的位置与所述至少一个语法树的关键字的位置和变量的位置对比。
进一步地,所述将所述至少一个SQL模板对应的至少一个标准语法树中的关键字和变量与所述至少一个语法树的关键字和变量对比,包括:将所述至少一个SQL模板对应的至少一个标准语法树中的关键字的数量和变量的数量与所述至少一个语法树的关键字的数量和变量的数量对比。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于奇安信科技集团股份有限公司;网神信息技术(北京)股份有限公司,未经奇安信科技集团股份有限公司;网神信息技术(北京)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111580861.8/2.html,转载请声明来源钻瓜专利网。