[发明专利]基于插件的结构化查询语言SQL注入检测方法和装置在审

专利信息
申请号: 201710574499.0 申请日: 2017-07-14
公开(公告)号: CN107358098A 公开(公告)日: 2017-11-17
发明(设计)人: 周黎明 申请(专利权)人: 北京安数云信息技术有限公司
主分类号: G06F21/55 分类号: G06F21/55;G06F21/57;G06F21/62
代理公司: 北京创遇知识产权代理有限公司11577 代理人: 李芙蓉,孙进华
地址: 100085 北京市海淀区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 插件 结构 查询 语言 sql 注入 检测 方法 装置
【说明书】:

技术领域

发明涉及网络信息安全技术领域,具体涉及基于插件的结构化查询语言SQL注入检测方法和装置。

背景技术

在网络安全技术领域,使用B/S(浏览器/服务器)模式进行应用开发时,若没有对客户端侧用户输入数据的合法性进行检测,则会使得应用程序存在一定的安全隐患,导致应用程序存在结构化查询语言(SQL,Structured Query Language)注入风险。

SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统,SQL注入防护一直是网络安全的重点。而SQL注入通过把SQL命令插入到Web表单中,或把SQL命令输入域名中或把SQL命令插入到页面请求的查询字符串中,最终达到欺骗服务器来执行恶意的SQL命令。攻击者通过SQL注入,对应用程序造成攻击,从而获得敏感信息,并且在一些情况下,还有可能导致服务器权限的丢失。因此,对于数据库系统来说,防御SQL注入相当重要,而网站管理人员对SQL注入的防御也极其重视。

目前,常见的SQL注入防御技术通常采用网络抓包的方式,也就是说将通过网络中间安全设备抓取到网络数据包,然后分析这个数据包到达服务器后可能会有什么影响。比如访问http://www.aaaa.com/a.html?1=1or 2=2,非常有可能这个a.html仅仅是一个静态页面,没有任何对数据库的操作,而对于这种访问传统的应用防火墙一定是会将其上报为SQL攻击,这就是非常明显的误报。由于对于访问的url进行解码失败、解密失败的情况,漏报也会出现。

因此目前急需一种精确的SQL注入检测方式,避免误报和的出现。

发明内容

本发明的目的在于提供基于插件的结构化查询语言SQL注入检测方法和装置,用以解决现有的SQL注入检测技术存在的误报和漏报的问题。

为实现上述目的,本发明方法包括如下步骤:

基于插件的结构化查询语言SQL注入检测方法,在全球广域网Web应用服务器上部署SQL拦截插件,Web应用服务器中执行如下SQL注入检测方法包括:

接收数据库访问请求。

获取数据库访问请求中的请求参数值,判断当前请求参数值中是否存在SQL关键字。

若当前请求参数值中存在SQL关键字,从数据库访问请求中,获取的包含SQL关键字的完整SQL语句。

提取完整SQL语句的词法,若完整SQL语句的词法与SQL查询原生语句的词法不一致,则采用SQL拦截插件在所述数据库访问请求中加入SQL拦截探针。

进一步地,数据库访问请求包含2个以上的请求参数值。

进一步地,判断当前请求参数值中是否存在SQL关键字,还包括:

若当前请求参数值中不存在SQL关键字,则获取下一个请求参数值。

进一步地,提取完整SQL语句的词法之后,还包括:

若完整SQL语句的词法与SQL查询原生语句的词法一致,则允许数据库访问请求。

进一步地,提取完整SQL语句的词法之前,还包括:

去掉完整SQL语句中的SQL关键字。

本发明还提供了基于插件的结构化查询语言SQL注入检测装置,在全球广域网Web应用服务器上部署SQL拦截插件,同时在所述Web应用服务器上部署SQL注入检测装置。

SQL注入检测装置包括接收模块、第一判断模块、第二判断模块以及拦截模块。

接收模块,用于接收数据库访问请求,将数据库访问请求送入第一判断模块。

第一判断模块,用于获取数据库访问请求中的请求参数值,判断当前请求参数值中是否存在SQL关键字,若当前请求参数值中存在SQL关键字,将数据库访问请求送入到第二判断模块。

第二判断模块,用于从数据库访问请求中,获取包含SQL关键字的完整SQL语句;判断完整SQL语句的词法与SQL查询原生语句的词法是否一致,若完整SQL语句的词法与SQL查询原生语句的词法一致,则将数据库访问请求送入到拦截模块。

拦截模块,用于采用SQL拦截插件在所述数据库访问请求中加入SQL拦截探针。

进一步地,数据库访问请求中包含两个以上请求参数值。

进一步地,第一判断模块,还用于:

判断若当前请求参数值中不存在SQL关键字,则获取下一个请求参数值。

进一步地,第二判断模块,还用于:

判断若完整SQL语句的词法与SQL查询原生语句的词法一致,则允许数据库访问请求。

进一步地,第二判断模块,还用于:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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