[发明专利]一种防止SQL注入的方法在审
| 申请号: | 201710823393.X | 申请日: | 2017-09-13 |
| 公开(公告)号: | CN107644175A | 公开(公告)日: | 2018-01-30 |
| 发明(设计)人: | 魏兴慎;刘苇;韦小刚;祁龙云;吕小亮;宋子锋;黄益彬;韩勇;郭靓;杨维永 | 申请(专利权)人: | 南京南瑞集团公司;南京南瑞信息通信科技有限公司 |
| 主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F17/30;G06F21/60 |
| 代理公司: | 南京纵横知识产权代理有限公司32224 | 代理人: | 董建林 |
| 地址: | 210003 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 防止 sql 注入 方法 | ||
1.一种防止SQL注入的方法,其特征是,包括以下步骤:
步骤S1,应用程序代理和代理服务协商生成加密秘钥;
步骤S2,应用程序代理利用加密密钥对SQL语句的关键字加密,与用户输入拼接成SQL语句发送至代理服务;
步骤S3,代理服务对关键字加密的SQL语句进行解密,并对加密的SQL语句和解密后的SQL语句同时执行词法分析和语法分析生成语法树,若两者生成的语法树不相同,则认为存在SQL注入风险;若两者相同,则认为不存在SQL注入,将解密后的SQL语句发送到数据库执行;
步骤S4,数据库执行此SQL语句并返回执行的结果,代理服务在收到数据库返回结果后,转发给应用程序代理。
2.根据权利要求1所述的一种防止SQL注入的方法,其特征是,步骤S1中,加密秘钥协商可采用非对称加密算法实现或用相同的随机化种子生成的随机数序列作为加密和解密秘钥。
3.根据权利要求1所述的一种防止SQL注入的方法,其特征是,步骤S2中,对SQL语句的关键字加密采用对称加密算法。
4.根据权利要求1所述的一种防止SQL注入的方法,其特征是,对称加密算法为DES算法、3DES算法、TDEA算法、Blowfish算法、RC5算法或IDEA算法。
5.根据权利要求1所述的一种防止SQL注入的方法,其特征是,步骤S3中,代理服务对SQL注入具体的检测程如下:
1)SQL代理服务器接收到加密的SQL语句S1后,对该语句进行解密生成S2;
2)对S1和S2分别进行词法解析和语法解析,生成相应的抽象语法树T1和T2;
3)若生成语法树T2失败,则说明SQL可能因为注入造成解密后语法错误,则可以直接判定为SQL注入;若生成语法树T2成功,则对比语法树T1和T2是否完全一致,若不一致,则判定为存在SQL注入;
4)如果存在SQL注入,则向应用程序代理返回错误信息。
6.根据权利要求5所述的一种防止SQL注入的方法,其特征是,词法解析和语法解析采用ANTLR4。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京南瑞集团公司;南京南瑞信息通信科技有限公司,未经南京南瑞集团公司;南京南瑞信息通信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710823393.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种旧水泥路面加宽改造路面结构组合
- 下一篇:一种道路边沟





