1 .一种数据库注入检测方法,其特征在于,所述方法包括:
获取注入的数据库语句;
依据所述数据库语句,进行语句处理,获取数据库语句的子语句集;
依据所述子语句集,获取数据库语句集合;
依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结
果;
所述依据所述数据库语句,进行语句处理,获取数据库语句的子语句集包括:
依据所述数据库语句进行第一处理,获取所述数据库语句的编码信息;所述第一处理
用于对所述数据库语句进行编码处理;
依据所述编码信息,对所述数据库语句进行第二处理,获取所述数据库语句的子语句
片段信息,所述第二处理用于对所述数据库语句进行关键字处理;
依据所述子语句片段信息,对所述数据库语句进行第三处理,获取所述数据库语句的
子语句集,所述第三处理用于对所述数据库语句进行字段检测处理;
所述第二处理包括:
获取数据库语句的编码信息;
依据所述编码信息,对所述数据库语句进行关键字成对检测;
依据所述关键字成对检测结果,提取所述数据库语句的字段信息;
依据所述字段信息,提取所述数据库语句的子语句片段信息。
2.根据权利要求1所述的数据库注入检测方法,其特征在于,所述获取注入的数据库语
句包括:
MySQL数据库、SQL Server数据库、Oracle数据库、PgSQL数据库、DB2数据库中的一种或
多种的数据库语句。
3 .根据权利要求1所述的数据库注入检测方法,其特征在于,所述第一处理包括:
对所述数据库语句进行前置预处理,所述前置预处理包括如下方式中的一种或多种:
前置替换,用于通过数据库的替换函数替换数据库语句的指定字符;
Url转码,用于按照设定的规则将数据库语句的Url编码转换成设定编码;
Unicode编码,用于将数据库语句中的编码方案替换为Unicode编码方案;
16进制处理,用于将数据库语句中的不同进制方式统一转换成16进制方式;
注释处理,用于对所述数据库语句进行注释,所述注释包括单行注释和多行注释;
后置过滤处理,用于对所述数据库语句进行后置的过滤控制,实现对数据的筛选;
科学计数法处理,用于将所述数据库语句中的标准数值转换成科学计数法;
点号处理,用于对所述数据库语句中的点号进行处理。
4 .根据权利要求1所述的数据库注入检测方法,其特征在于,所述第三处理包括:
依据所述子语句片段信息,通过数据操纵语言DML的关键字成对检测方式检测所述子
语句片段信息;
依据所述关键字成对检测的结果,形成所述数据库语句的子语句集。
5 .根据权利要求1所述的数据库注入检测方法,其特征在于,所述依据所述数据库语句
集合,使用数据查询系统druid进行数据库语句检测,获取检测结果包括:
获取数据库语句集中的数据库语句的子语句;
权 利 要 求 书
1/2 页
2
评论