[发明专利]基于动态变换的SQL注入攻击防御系统及防御方法有效
申请号: | 201610970680.9 | 申请日: | 2016-11-04 |
公开(公告)号: | CN106503557B | 公开(公告)日: | 2019-10-08 |
发明(设计)人: | 耿童童 | 申请(专利权)人: | 北京卫达信息技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 100016 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种基于动态变换的SQL注入攻击防御系统和方法,通过构建数据库字段替换规则集合和网站程序SQL关键字替换规则集合,将数据库中出现的与SQL关键字形式相同的字符串按照数据库字段替换规则集合进行替换,将Web服务器上网站程序中的SQL语句按照网站程序SQL关键字替换规则集合进行替换,对于Web服务器发往数据库的SQL语句,把SQL语句中的SQL关键字按照数据库字段替换规则集合进行替换后在将其按照网站程序SQL关键字替换规则集合进行还原。本发明不依赖于规则,无需事先建立区分正常SQL语句和SQL注入攻击的判断规则,通过对SQL语句进行替换变换,使得攻击者恶意注入的SQL语句变成不符合数据库语法规范的语句而无法被执行,进而防御了SQL注入攻击行为。 | ||
搜索关键词: | 基于 动态 变换 sql 注入 攻击 防御 系统 方法 | ||
【主权项】:
1.一种基于动态变换的SQL注入攻击防御方法,其特征在于,包括以下步骤:步骤一、构建数据库字段替换规则集合和网站程序SQL关键字替换规则集合,所述数据库字段替换规则集合中包括有SQL关键字和每一个SQL关键字所对应的替换字符串,所述网站程序SQL关键字替换规则集合中包括有SQL关键字和每一个SQL关键字所对应的替换字符串;步骤二、进行初始化替换操作,将数据库中出现的与SQL关键字形式相同的字符串按照数据库字段替换规则集合替换为对应的替换字符串,将Web服务器上网站程序中的SQL语句中的SQL关键字按照网站程序SQL关键字替换规则集合替换成对应的替换字符串;步骤三、截获并解析Web服务器发往数据库的SQL语句,首先把SQL语句中出现的与SQL关键字形式相同的字符串按照数据库字段替换规则集合替换为对应的替换字符串,接着把SQL语句中按照网站程序SQL关键字替换规则集合替换后出现的替换字符串再次按照网站程序SQL关键字替换规则集合还原为对应的SQL关键字,然后将所述SQL语句发往数据库;步骤四、截获并解析数据库向Web服务器的返回结果,将返回结果中出现的与数据库字段替换规则集合中的替换字符串相同的字符串按照数据库字段替换规则集合进行还原,然后将返回结果发往Web服务器;步骤五、动态变换所述网站程序SQL关键字替换规则集合,并根据变换后的网站程序SQL关键字替换规则集合对Web服务器上网站程序中的SQL语句中的SQL关键字进行更新替换操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京卫达信息技术有限公司,未经北京卫达信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610970680.9/,转载请声明来源钻瓜专利网。