[发明专利]SQL注入检测方法在审
申请号: | 201710414030.0 | 申请日: | 2017-06-05 |
公开(公告)号: | CN107273465A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 冯方方;孙健;刘斌;付强 | 申请(专利权)人: | 环球智达科技(北京)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京慧诚智道知识产权代理事务所(特殊普通合伙)11539 | 代理人: | 李楠 |
地址: | 100043 北京市石景*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sql 注入 检测 方法 | ||
技术领域
本发明涉及数据处理技术领域,尤其涉及一种SQL注入检测方法。
背景技术
结构化查询语言(Structured Query Language,SQL)注入是指从客户端合法接口提交特殊的非法代码,让其注入到服务器端执行业务的SQL中去,进而改变SQL语句的原有逻辑和影响服务器端正常业务的处理。具体来说,它是利用现有应用程序,将恶意的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入恶意的SQL语句得到一个存在安全漏洞的网页上的数据库,而不是按照设计者意图去执行SQL语句。
目前,防SQL注入检测主要是通过检测是否存在可能导致SQL注入的特殊符号,例如,单引号、双引号、左右小括号、减号等,以及检测是否存在可能导致SQL注入的关键字,例如,select、union、null、table、from等。由于传递的参数有多种情况,如果只是传递一些数据标识的参数,传统方法尚能处理;但如果传递的参数涉及到自然语言等,则传统方法就会有很大的局限性,规则过严会出现大量的误检,规则过松会出现大量的漏检。
发明内容
本发明提供了一种SQL注入检测方法,以解决现有技术中通过特殊符号和关键字进行防SQL注入检测,容易漏检、误检的问题。
本发明实施例提供了一种SQL注入检测方法,包括:
服务器获取用户查询语句,所述查询语句包含统一资源定位器URL地址信息和参数信息;
将所述查询语句进行预处理,得到预处理查询语句;
将所述预处理查询语句进行标注,得到标注查询语句,所述标注查询语句包含SQL注入语句和合法SQL语句;
将所述标注查询语句进行分词处理,得到标注查询词项;
将所述标注查询词项进行向量化处理,得到标注查询向量;
按照预设比例对所述标注查询向量进行分组,得到训练组查询向量和测试组查询向量;
利用所述训练组查询向量训练朴素贝叶斯算法模型,得到朴素贝叶斯数据模型;
根据所述朴素贝叶斯数据模型对所述测试组查询向量进行SQL注入检测,得到检测结果。
进一步的,所述服务器获取用户查询语句具体包括:
服务器获取用户访问日志数据,从中提取出查询语句。
进一步的,所述将所述查询语句进行预处理,得到预处理查询语句具体包括:
将所述统一资源定位器URL地址信息去除噪声数据,并对空缺值进行处理;
将所述参数信息进行解码处理,得到原始参数。
进一步的,在将所述标注查询语句进行分词处理,得到标注查询词项之后,所述方法还包括:
筛除所述标注查询词项中的停止词。
进一步的,将所述标注查询词项进行向量化处理,得到标注查询向量具体包括:
统计所述标注查询词项的词频,并为各个词项赋予权重;
根据各个词项的词频和权重,生成标注查询向量。
进一步的,所述方法还包括:
对所述检测结果进行评估,得到检测准确度。
本发明实施例提供的SQL注入检测方法,服务器获取用户查询语句,查询语句包含统一资源定位器URL地址信息和参数信息;将查询语句进行预处理,得到预处理查询语句;将预处理查询语句进行标注,得到标注查询语句,标注查询语句包含SQL注入语句和合法SQL语句;将标注查询语句进行分词处理,得到标注查询词项;将标注查询词项进行向量化处理,得到标注查询向量;按照预设比例对标注查询向量进行分组,得到训练组查询向量和测试组查询向量;利用训练组查询向量训练朴素贝叶斯算法模型,得到朴素贝叶斯数据模型;根据朴素贝叶斯数据模型对测试组查询向量进行SQL注入检测,得到检测结果。本发明提供的SQL注入检测方法,基于朴素贝叶斯分类方法进行防SQL注入检测,大大提高了检测的准确性。
附图说明
图1为本发明实施例提供的SQL注入检测方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合图1所示的SQL注入检测方法流程图,对本发明实施例提供的SQL注入检测方法进行详细说明。
如图1所示,本发明提供的SQL注入检测方法主要包括如下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于环球智达科技(北京)有限公司,未经环球智达科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710414030.0/2.html,转载请声明来源钻瓜专利网。