[发明专利]检测SQL注入攻击的方法、装置、服务器和存储介质在审
申请号: | 201710150788.8 | 申请日: | 2017-03-14 |
公开(公告)号: | CN108573152A | 公开(公告)日: | 2018-09-25 |
发明(设计)人: | 吴青海 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预定义配置文件 单字 判定 存储介质 攻击 匹配 服务器 应用程序代码 接收用户 平台系统 语法结构 预定义 种检测 检测 组装 安全 | ||
1.一种检测SQL注入攻击的方法,所述方法在web服务器执行,其特征在于,包括:
接收用户的web请求;
把所述请求组装为SQL语句;
确定所述SQL语句中是否包含预定义配置文件中的表单字段,所述预定义配置文件包括一个或多个表单字段;
当该请求中不包含预定义配置文件中的表单字段,则判定该请求是安全的,方法结束,否则执行如下步骤:
确定所述SQL语句与预定义的语法结构串是否匹配;并且
当匹配时,判定该请求是安全的,否则判定该请求是SQL注入攻击。
2.根据权利要求1所述的方法,其特征在于,所述预定义配置文件通过下述步骤生成:
向所述web服务器发送配置页面请求,所述配置页面是所述web服务器为用户提供的web请求发起页面;
采集所述web服务器基于所述配置页面请求返回的配置页面中的表单字段;
记录所述表单字段以生成所述预定义配置文件。
3.根据权利要求1或2所述的方法,其特征在于,在确定所述SQL语句与预定义语法结构串是否匹配的步骤包括:
对所述SQL语句进行预处理;
获取所述SQL语句中的语素;
将所述SQL语句的where子句中的下述语素分别用对应的字符替换以生成用户请求语法结构串:任意非SQL关键字的字符串的条件表达式的左值和右值、独立的SQL查询语句、SQL的算术表达式、SQL中的组合运算符以及内置的命令或存储过程组成的独立语句;
确定用户请求语法结构串与所述预定义的语法结构串是否匹配。
4.根据权利要求3所述的方法,其特征在于,所述预定义的语法结构串包括:
A=V and A=V;
A=Q and A=V;
A=E and A=V;
A=V or A=V and A=V;
A=VUQ and A=V;
A=V;S;
A=V;Q,
其中,A和V分别表示任意非SQL关键字的字符串的条件表达式的左值和右值,Q表示独立的SQL查询语句,E表示SQL的算术表达式,U表示SQL中的组合运算符,S表示SQL内置的命令或存储过程组成的独立语句。
5.根据权利要求3所述的方法,其特征在于,所述预处理包括:对所述SQL语句进行过滤注释、转换编码处理。
6.根据权利要求2所述的方法,其特征在于,所述表单字段包括:页面文件名、表单名、字段名以及字段属性。
7.一种检测SQL注入攻击的装置,该装置设置在web服务器中,其特征在于,包括:
记录模块,用于采集记录所述web服务器基于配置页面请求返回的配置页面中的表单字段并生成预定义配置文件;
配置文件管理模块,用于管理对所述预定义配置文件的访问;
过滤模块,用于接收用户的web请求并把所述请求组装为SQL语句,确定所述SQL语句中是否包含预定义配置文件中的表单字段,其中,当该请求中不包含预定义配置文件中的表单字段,则判定该请求是安全的,否则确定所述SQL语句与预定义的语法结构串是否匹配,并且当匹配时,判定该请求是安全的,否则判定该请求是SQL注入攻击。
8.根据权利要求7所述的装置,其特征在于,所述过滤模块包括:
接收子模块,用于接收用户的web请求并把所述请求组装为SQL语句;
预处理子模块,用于对所述SQL语句进行预处理;
词法分析子模块,用于获取所述SQL语句中的语素;
语法结构串生成子模块,用于将所述SQL语句的where子句中的下述语素分别用对应的字符替换以生成用户请求语法结构串:任意非SQL关键字的字符串的条件表达式的左值和右值、独立的SQL查询语句、SQL的算术表达式、SQL中的组合运算符以及内置的命令或存储过程组成的独立语句;
匹配子模块,用于确定用户请求语法结构串与所述预定义的语法结构串是否匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710150788.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种仿冒应用分析系统及方法
- 下一篇:一种车载操作系统及其使用方法