【技术实现步骤摘要】
一种SQL注入防御的方法和系统
本专利技术涉及计算机网络信息安全防护领域,特别涉及一种改进的SQL注入防御的方法和系统。
技术介绍
随着Web应用以及浏览器/服务器(B/S)模式应用的普及,Web应用程序的安全性问题也日益受到关注。SQL注入攻击是最为常见的Web应用程序攻击技术,SQL注入攻击所带来的安全破坏也是不可弥补的。所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造或者影响动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。SQL注入可以分为平台层注入和代码层注入。前者由不安全的数据库配置或数据库平台的漏洞所致;后者主要是由于程序员对输入未进行细致地过滤,从而执行了非法的数据查询。基于此,SQL注入的产生原因通常表现在以下几方面:不当的类型处理;不安全的数据库配置;不合理的查询集处理;不当的错误处理;转义字符处理不合适;和多个提交处理不当。目前,现有常见的SQL注入防御技术是关键词方法,即检测用户提交的SQL语句中 ...
【技术保护点】
一种针对数据库的SQL注入防御的方法,所述方法包括如下步骤:(a)接收来自应用系统发出的访问数据库的SQL语句;(b)对SQL语句进行注入判断和检查,若发现SQL注入,则对该SQL注入进行拦截,记录错误,并向所述应用系统返回异常消息;若发现并非为SQL注入,则查询出该SQL语句所需要访问的相应数据库操作的接口规范,拼接出符合该数据库操作接口规范的SQL语句;(c)将步骤(b)拼接出的规范的SQL语句发送到相应的数据库进行数据库操作;和(d)将查询后的结果返回给应用系统。
【技术特征摘要】
1.一种针对数据库的SQL注入防御的方法,所述方法包括如下步骤:(a)数据库代理服务器接收来自应用系统发出的访问数据库的SQL语句;(b)对SQL语句进行注入判断和检查,若发现SQL注入,则对该SQL注入进行拦截,记录错误,并向所述应用系统返回异常消息;若发现并非为SQL注入,则查询出该SQL语句所需要访问的相应数据库操作的接口规范,拼接出符合该数据库操作接口规范的SQL语句;其中所述对SQL语句进行注入判断和检查基于如下规范:(1)当前数据库操作接口允许操作的数据库、表;(2)当前数据库操作接口的子句中的语法规则;以及(3)当前数据库操作接口的子句中的语义规则;其中所述子句中的语法规则具体如下:1)SQL语句必须能够解析成集合元素拼接成的串,2)限定的字段名限定哪些字段可以被当前方法查询,本发明的数据库代理服务器可以通过此配置定义字段级别的访问权限,3)限定的SQL关键词限定子句中允许的关键词,以避免误删除或者恶意删除;SQL注入检查及子句检查的算法如下:步骤1):将所输入的SQL子句,以及数据库、表名、操作接口全部转化为小写,步骤2):根据数据库、表名、操作接口、子句,获得定义的语法转码表,步骤3):根据语法转码表,对输入的SQL子句按语法转码表的每一项执行替换操作,得到转码后的序列,步骤4):对得到转换码...
【专利技术属性】
技术研发人员:王志强,
申请(专利权)人:五八同城信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。