[发明专利]一种sql注入检测方法及装置有效

专利信息
申请号: 201310541430.X 申请日: 2013-11-05
公开(公告)号: CN103559444B 公开(公告)日: 2017-08-04
发明(设计)人: 石祖文 申请(专利权)人: 星云融创(北京)科技有限公司
主分类号: G06F21/56 分类号: G06F21/56;G06F17/30;G06F17/27
代理公司: 北京英赛嘉华知识产权代理有限责任公司11204 代理人: 王达佐,马晓亚
地址: 100080 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 sql 注入 检测 方法 装置
【说明书】:

技术领域

发明涉及网络安全技术领域,特别涉及一种sql注入检测方法及装置。

背景技术

黑客在入侵网站的时候经常会利用sql(structure query language,结构化查询语言)注入漏洞执行各种非法数据库操作,比如盗取敏感信息、获取系统管理权限等。传统WAF(Web Application Firewall,Web应用防火墙)在过滤sql注入攻击时通常采用正则表达式进行sql注入匹配,或者直接进行sql语法关键词查找。

采用正则表达式进行匹配或者直接进行sql语法关键词查找时,往往需要匹配完整个用户提交的数据后才能进行拦截,这样会导致执行效率比较低。

另外,正则表达式由于不具备上下文分析能力,因此当用户通过post方式提交一篇包含sql关键字的文章时就可能进行误报拦截,而这有可能只是普通用户发表的一篇带有“select”关键词的技术文章而已。例如,对于如下的http请求,“http://foo.com/?id=l+foo+union+select+a+from+b”,传统WAF会拦截并认为是sql注入行为,而实际上该http请求并非一个sql注入攻击。

可见,现有的sql注入检测方法不仅执行效率比较差,而且容易引起各种误报,把正常的http(hypertext transfer protocol,超文本传输协议)访问也拦截了。

发明内容

有鉴于此,本发明的目的是提供一种sql注入检测方法及装置,用以提高sql注入检测的执行效率,并降低sql注入检测的误报率。

为实现上述目的,本发明提供技术方案如下:

一种sql注入检测方法,包括:

从http请求中提取http参数;

将提取到的每个http参数分别与预定义的各种动态sql模板组合成sql语句;

分别对每个sql语句进行语法分析,若该sql语句不符合sql语法规则,则确定该http参数不会导致sql注入攻击,若该sql语句符合sql语法规则,则输出与该sql语句对应的标记字符串;

将所述标记字符串与具有sql注入攻击特征的标记字符串集合进行匹配,若匹配成功,则确定该http请求为sql注入攻击。

上述的sql注入检测方法,其中,还包括:若所有标记字符串均匹配失败,则确定该http请求不是sql注入攻击。

上述的sql注入检测方法,其中,所述http参数包括:url参数、cookie数据和表单数据。

上述的sql注入检测方法,其中,所述将提取到的每个http参数分别与预定义的各种动态sql模板组合成sql语句,包括:

将http参数作为变量值传入到动态sql模块的变量中,从而得到组合后的sql语句。

上述的sql注入检测方法,其中,所述将http参数作为变量值传入到动态sql模块的变量中,包括:

将http参数分别以数字型变量值和字符型变量值传入到动态sql模块的变量中。

一种sql注入检测装置,包括:

http参数提取单元,用于从http请求中提取http参数;

sql语句组合单元,用于将提取到的每个http参数分别与预定义的各种动态sql模板组合成sql语句;

sql语法分析单元,用于分别对每个sql语句进行语法分析,若该sql语句不符合sql语法规则,则确定该http参数不会导致sql注入攻击,若该sql语句符合sql语法规则,则输出与该sql语句对应的标记字符串;

标记字符串匹配单元,用于将所述标记字符串与具有sql注入攻击特征的标记字符串集合进行匹配,若匹配成功,则确定该http请求为sql注入攻击。

上述的sql注入检测装置,其中,所述标记字符串匹配单元进一步用于:若所有标记字符串均匹配失败,则确定该http请求不是sql注入攻击。

上述的sql注入检测装置,其中,所述http参数包括:url参数、cookie数据和表单数据。

上述的sql注入检测装置,其中,所述sql语句组合单元进一步用于:将http参数作为变量值传入到动态sql模块的变量中,从而得到组合后的sql语句。

上述述的sql注入检测装置,其中,所述sql语句组合单元进一步用于:将http参数分别以数字型变量值和字符型变量值传入到动态sql模块的变量中,得到对应的sql语句。

与现有技术相比,本发明的有益效果如下:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于星云融创(北京)科技有限公司,未经星云融创(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310541430.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top