[发明专利]检测SQL注入攻击的方法、装置、服务器和存储介质在审
申请号: | 201710150788.8 | 申请日: | 2017-03-14 |
公开(公告)号: | CN108573152A | 公开(公告)日: | 2018-09-25 |
发明(设计)人: | 吴青海 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;姜劲 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 预定义配置文件 单字 判定 存储介质 攻击 匹配 服务器 应用程序代码 接收用户 平台系统 语法结构 预定义 种检测 检测 组装 安全 | ||
本发明提供一种检测SQL注入攻击的方法、装置、服务器和存储介质,实现在不需要修改运行中的应用程序代码及平台系统的同时,提高SQL注入攻击检测的效率和安全性,降低检测成本。该方法包括接收用户的web请求;把所述请求组装为SQL语句;确定所述SQL语句中是否包含预定义配置文件中的表单字段,所述预定义配置文件包括一个或多个表单字段;当该请求中不包含预定义配置文件中的表单字段,则判定该请求是安全的,方法结束,否则执行如下步骤:确定所述SQL语句与预定义的语法结构串是否匹配;并且当匹配时,判定该请求是安全的,否则判定该请求是SQL注入攻击。
技术领域
本发明涉及计算机技术领域,特别地涉及检测SQL注入攻击的方法、装置、服务器和存储介质。
背景技术
结构化查询语言(Structured Query Language)SQL注入攻击,是黑客对数据库进行攻击的常用手段之一,当应用程序将用户输入的内容拼接到SQL语句中一起提交给数据库执行的时,就会产生SQL注入威胁。SQL注入漏洞的产生原因是网站程序在编写时,没有对用户输入数据的合法性进行判断。由于用户的输入也是SQL语句的一部分,所以攻击者可以利用这部分可以控制的内容,注入自己定义的语句,改变SQL语句执行逻辑,让数据库执行任意自己需要的指令,从而导致应用程序的安全隐患。
目前SQL注入攻击的防范主要有手工检查、自动过滤、SQL命令编码以及专用API等几种方法。其中,手工检查的方法要求应用的创建者将所有针对用户输入信息的检查代码嵌入到程序中去。然而,复杂的应用程序需要处理大量的用户输入,采用手工检查不仅极大地增加了程序员的负担,也让程序变得难以维护。而且对于正在运行的应用程序而言,为程序增加用户输入信息检查代码费用太高。
自动过滤的方法是在网络服务前端增加一个应用级的防火墙,在接收到用户输入信息时进行集中检查。自动过滤方法往往仅凭预先定义好的一系列正则表达式进行过滤,容易产生相当数量的错漏,攻击者精心构造的恶意输入很容易绕过这种过滤程序。
SQL命令编码方法是假设用户输入信息中不应该包含SQL命令,首先将SQL语句中的非用户输入部分的所有控制命令编码,编码后的 SQL语句在提交给数据库执行前先经过SQL代理解码,SQL代理如果发现无法解码的SQL命令,则判定为用户输入了非法的控制命令。SQL 命令编码方法涉及到对web服务器和数据库服务器平台软件的大量修改,实现和安装都十分繁琐。
专用API方法是将常用的数据库操作封装成一些专用的API函数,程序员不需要构造SQL字符串,因此也不会有SQL注入的风险。新的应用程序使用专用API能够避免SQL注入,然而对于已经运行的大量应用而言,专用API也无能为力。
因此,亟需一种高效、低成本、具有更高的安全性,且不需要修改运行中的应用程序代码及平台系统的检测SQL注入攻击的方法。
发明内容
有鉴于此,本发明实施例提供一种检测SQL注入攻击的方法、装置、服务器和存储介质,实现在不需要修改运行中的应用程序代码及平台系统的同时,提高SQL注入攻击检测的效率和安全性,降低检测成本。
本发明实施例提供一种检测SQL注入攻击的方法,所述方法在 web服务器执行,该方法包括:
接收用户的web请求;
把所述请求组装为SQL语句;
确定所述SQL语句中是否包含预定义配置文件中的表单字段,所述预定义配置文件包括一个或多个表单字段;
当该请求中不包含预定义配置文件中的表单字段,则判定该请求是安全的,方法结束,否则执行如下步骤:
确定所述SQL语句与预定义的语法结构串是否匹配;并且
当匹配时,判定该请求是安全的,否则判定该请求是SQL注入攻击。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710150788.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种仿冒应用分析系统及方法
- 下一篇:一种车载操作系统及其使用方法