[发明专利]一种SQL语句块分析处理方法和装置有效
申请号: | 202111310323.7 | 申请日: | 2021-11-08 |
公开(公告)号: | CN113742371B | 公开(公告)日: | 2022-02-15 |
发明(设计)人: | 杨海峰;李彦君 | 申请(专利权)人: | 北京安华金和科技有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242;G06F16/2455 |
代理公司: | 北京盛询知识产权代理有限公司 11901 | 代理人: | 韩建伟 |
地址: | 100080 北京市海淀区中关村*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sql 语句 分析 处理 方法 装置 | ||
1.一种SQL语句块分析处理方法,其特征在于,包括:
步骤S102,获取SQL语句块,其中,所述SQL语句块中包括多个SQL语句;
步骤S104,从所述SQL语句块中搜索关键词,其中,所述关键词为预先配置的,所述关键词为SQL的命令;
步骤S106,在所述SQL语句中搜索到所述关键词之后,根据所述关键词从所述语句块中获取所述关键词所在的SQL语句;
步骤S108,将所述关键词所在的SQL语句从所述语句块中提取出来;
步骤S110,对提取得到的SQL语句进行分析,其中,所述分析用于确定所述SQL语句在数据库执行时所产生的风险;其中,获取SQL语法中的所有命令,将所有的命令进行分级,其中,关键词构成的语句在数据库被执行时不会出现风险对应的关键词被定义为第一级别的关键词,关键词构成的语句在数据库被执行时出现风险对应的关键词被定义为第二级别的关键词;在步骤S110中进行分析的过程包括审计,使用第一级别的关键词进行搜索,将第一级别的关键词搜索对应的SQL语句进行保存,保存下来的SQL语句用于进行审计;第二级别的关键词对应的SQL语句进行保存,保存下来的SQL语句用于进行审计和风险分析;在使用了所有等级的关键词进行搜索时候,获取被搜索到的关键词在SQL语句块中的第一位置,以及被搜到的该关键词所在的SQL语句在所述SQL语句块的第二位置,根据搜索到的所有关键词的第一位置和所有该关键词对应的SQL的第二位置,将从SQL语句块中提取到的SQL语句进行排列得到第二SQL语句块,将原始的SQL语句块作为第一SQL语句块,比较所述第二SQL语句块和所述第一SQL语句块以获取所述第二SQL语句块和所述第一SQL语句块之间的差异,如果没有差异,则说明提取正确;如果存在差异,则获取所述第二SQL语句块和所述第一SQL语句块的差异的内容,并对该差异的内容进行风险分析。
2.根据权利要求1所述的方法,其特征在于,所述关键词为多个,根据每个关键词在所述SQL语句中进行搜索,在搜索到的情况下,分别从所述SQL语句块提取搜索到的每个关键词所在的SQL语句,并对提取出的每条SQL语句进行分析。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取对每条SQL语句进行分析后的结果;
将每条SQL语句对应的结果汇总为对所述SQL语句分析的结果集。
4.权利要求1所述的方法,其特征在于,根据所述关键词从所述语句块中获取所述关键词所在的SQL语句包括:
根据所述关键词对应的SQL语法特征从所述语句块中获取所述关键词所在的SQL语句。
5.权利要求1至4中任一项所述的方法,其特征在于,对提取得到的SQL语句进行分析包括:
对提取得到的SQL语句按照预先配置的规则进行分析。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安华金和科技有限公司,未经北京安华金和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111310323.7/1.html,转载请声明来源钻瓜专利网。