[发明专利]一种sql注入检测方法及装置有效
申请号: | 201310541430.X | 申请日: | 2013-11-05 |
公开(公告)号: | CN103559444B | 公开(公告)日: | 2017-08-04 |
发明(设计)人: | 石祖文 | 申请(专利权)人: | 星云融创(北京)科技有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F17/30;G06F17/27 |
代理公司: | 北京英赛嘉华知识产权代理有限责任公司11204 | 代理人: | 王达佐,马晓亚 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 注入 检测 方法 装置 | ||
1.一种sql注入检测方法,其特征在于,包括:
从http请求中提取http参数;
将提取到的每个http参数分别与预定义的各种动态sql模板组合成sql语句;
分别对每个sql语句进行语法分析,若该sql语句不符合sql语法规则,则确定该http参数不会导致sql注入攻击,若该sql语句符合sql语法规则,则根据预定义的sql关键词与标记的对应关系,输出与该sql语句对应的标记字符串;
将所述标记字符串与具有sql注入攻击特征的标记字符串集合进行匹配,若匹配成功,则确定该http请求为sql注入攻击。
2.如权利要求1所述的sql注入检测方法,其特征在于,还包括:
若所有标记字符串均匹配失败,则确定该http请求不是sql注入攻击。
3.如权利要求1或2所述的sql注入检测方法,其特征在于,所述http参数包括:url参数、cookie数据和表单数据。
4.如权利要求3所述的sql注入检测方法,其特征在于,所述将提取到的每个http参数分别与预定义的各种动态sql模板组合成sql语句,包括:
将http参数作为变量值传入到动态sql模块的变量中,从而得到组合后的sql语句。
5.如权利要求4所述的sql注入检测方法,其特征在于,所述将http参数作为变量值传入到动态sql模块的变量中,包括:
将http参数分别以数字型变量值和字符型变量值传入到动态sql模块的变量中。
6.一种sql注入检测装置,其特征在于,包括:
http参数提取单元,用于从http请求中提取http参数;
sql语句组合单元,用于将提取到的每个http参数分别与预定义的各种动态sql模板组合成sql语句;
sql语法分析单元,用于分别对每个sql语句进行语法分析,若该sql语句不符合sql语法规则,则确定该http参数不会导致sql注入攻击,若该sql语句符合sql语法规则,则根据预定义的sql关键词与标记的对应关系,输出与该sql语句对应的标记字符串;
标记字符串匹配单元,用于将所述标记字符串与具有sql注入攻击特征的标记字符串集合进行匹配,若匹配成功,则确定该http请求为sql注入攻击。
7.如权利要求6所述的sql注入检测装置,其特征在于,所述标记字符串匹配单元进一步用于:
若所有标记字符串均匹配失败,则确定该http请求不是sql注入攻击。
8.如权利要求6或7所述的sql注入检测装置,其特征在于,所述http参数包括:url参数、cookie数据和表单数据。
9.如权利要求8所述的sql注入检测装置,其特征在于,所述sql语句组合单元进一步用于:
将http参数作为变量值传入到动态sql模块的变量中,从而得到组合后的sql语句。
10.如权利要求9所述的sql注入检测装置,其特征在于,所述sql语句组合单元进一步用于:
将http参数分别以数字型变量值和字符型变量值传入到动态sql模块的变量中,得到对应的sql语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于星云融创(北京)科技有限公司,未经星云融创(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310541430.X/1.html,转载请声明来源钻瓜专利网。