[发明专利]一种SQL注入攻击防御组件及方法在审
申请号: | 201710507364.2 | 申请日: | 2017-06-28 |
公开(公告)号: | CN107222494A | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 张铮;邬江兴;罗兴国;谢光伟;庞建民;王晓梅;马博林;李卫超;王立群;韩首魁;张高举 | 申请(专利权)人: | 上海红阵信息科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F21/56 |
代理公司: | 上海智信专利代理有限公司31002 | 代理人: | 邓琪 |
地址: | 201112 上海市闵*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 注入 攻击 防御 组件 方法 | ||
1.一种SQL注入攻击防御组件,其与一应用服务器相连,其特征在于,该SQL注入攻击防御组件包括:
SQL语句预处理模块,其设置为使应用服务器输出的SQL语句中的所有SQL关键词分别带上预生成的标签;
用户输入参数处理模块,其设置为将用户输入的参数添加到经过所述SQL语句预处理模块处理后的SQL语句中;
注入攻击检测模块,其设置为检测经过所述用户输入参数处理模块处理后的SQL语句中的所有关键字是否均带有合法的标签,合法是指与SQL语句预处理模块中添加的标签一致;
注入检测结果生成模块,其设置为根据所述注入攻击检测模块的检测结果返回相应的信息,若所述注入攻击检测模块检测到SQL语句中的所有关键词均带有合法的标签,则将该SQL语中的标签去除后返回至应用服务器,否则,返回指令错误信息。
2.根据权利要求1所述的SQL注入攻击防御组件,其特征在于,所述SQL语句预处理模块还设置为对应用服务器输出的SQL语句进行复制,以生成至少两条相同的SQL语句,并将复制生成的至少两条SQL语句分别作为子语句拼接成一条组合的SQL语句,然后使所述组合的SQL语句中的所有关键词均带上预生成的标签,其中相同子语句中的关键词带有相同的标签,不同子语句中的关键词带有不同的标签。
3.根据权利要求2所述的SQL注入攻击防御组件,其特征在于,所述注入攻击检测模块还设置为检测所述组合的SQL语句的每条子语句中的标签是否与所述SQL语句预处理模块添加的标签一致,若一致,则所述注入检测结果生成模块选择任意一条子语句并将其中的所有标签去除后返回至应用服务器,否则,返回所述指令错误信息。
4.根据权利要求1所述的SQL注入攻击防御组件,其特征在于,所述预生成的标签随机生成。
5.根据权利要求1所述的SQL注入攻击防御组件,其特征在于,所述预生成的标签根据用户的指纹信息生成。
6.根据权利要求4或5所述的SQL注入攻击防御组件,其特征在于,所述预生成的标签按周期变化。
7.一种SQL注入攻击防御方法,其特征在于,包括以下步骤:
S1,使应用服务器输出的SQL语句中的所有SQL关键词分别带上预生成的标签;
S2,将用户输入的参数添加到经过所述步骤S1处理后的SQL语句中;
S3,检测经过所述步骤S2处理后的SQL语句中的所有关键字是否均带有合法的标签,合法是指与所述步骤S1中添加的标签一致;以及
S4,根据所述步骤S3的检测结果返回相应的信息,若所述步骤S3检测到SQL语句中的所有关键词均带有合法的标签,则将该SQL语中的标签去除后返回至应用服务器,否则,返回指令错误信息。
8.根据权利要求7所述的SQL注入攻击防御方法,其特征在于,所述步骤S1还包括对应用服务器输出的SQL语句进行复制,以生成至少两条相同的SQL语句,并将复制生成的至少两条SQL语句分别作为子语句拼接成一条组合的SQL语句,然后使所述组合的SQL语句中的所有关键词均带上预生成的标签,其中使相同子语句中的关键词带上相同的标签,不同子语句中的关键词带上不同的标签。
9.根据权利要求8所述的SQL注入攻击防御方法,其特征在于,所述步骤S3还包括检测所述组合的SQL语句的每条子语句中的标签是否与所述步骤S1中添加的标签一致,若一致,则所述步骤S4选择任意一条子语句并将其中的标签去除后返回至应用服务器,否则,返回所述指令错误信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海红阵信息科技有限公司,未经上海红阵信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710507364.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种棉质面料的染色方法
- 下一篇:活性染料小浴比染特浅色的无盐染色方法