CN112202822B - 数据库注入检测方法、装置、电子设备及存储介质 - Google Patents

数据库注入检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112202822B
CN112202822B CN202011413340.9A CN202011413340A CN112202822B CN 112202822 B CN112202822 B CN 112202822B CN 202011413340 A CN202011413340 A CN 202011413340A CN 112202822 B CN112202822 B CN 112202822B
Authority
CN
China
Prior art keywords
database
statement
processing
sub
database statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011413340.9A
Other languages
English (en)
Other versions
CN112202822A (zh
Inventor
杨星
马涛
束义志
施凡
沈毅
束妮娜
周先东
朱静轩
孟彦
朱东涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202011413340.9A priority Critical patent/CN112202822B/zh
Publication of CN112202822A publication Critical patent/CN112202822A/zh
Application granted granted Critical
Publication of CN112202822B publication Critical patent/CN112202822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

本发明提出一种数据库注入检测方法、装置、电子设备及存储介质,所述方法包括:获取注入的数据库语句;依据所述数据库语句,进行语句处理,获取数据库语句的子语句集;依据所述子语句集,获取数据库语句集合;依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。本发明通过druid中间件来实现对目前主流的关系型数据库注入风险的检测,减少切换不同数据库,能很好的完成针对不同数据库的检测,能做到所见即所得的检测效果,性能及稳定性好。

Description

数据库注入检测方法、装置、电子设备及存储介质
技术领域
本发明属于数据处理技术领域,尤其涉及一种数据库注入检测方法、装置、电子设备及存储介质。
背景技术
在计算机网络攻击中,SQL(英语全称:Structured Query Language,结构化查询语言,英语简称SQL)注入攻击是对数据进行攻击的最常用手段之一。攻击者通过构造SQL语句,把SQL语句插入到网络表单提交或者输入域名或页面请求的查询字符串,最终达到绕过服务器验证获取数据库中的内容,或者进行执行恶意的SQL命令。
现有技术中,SQL注入检测需要多次获取SQL访问请求参数值,提取完整的SQL语句的词法,导致检测过程复杂,SQL注入点的检测精准度不够,而且对于一些结构复杂的SQL语句和一些特征不是明显的SQL片段,存在误报、漏报的情况,无法满足安全应用的需求。
因此,现有技术需要改进。
发明内容
为解决上述技术问题,本发明提出了一种数据库注入检测方法、装置、电子设备及存储介质。
基于本发明实施例的一个方面,公开一种数据库注入检测方法,包括:
获取注入的数据库语句;
依据所述数据库语句,进行语句处理,获取数据库语句的子语句集;
依据所述子语句集,获取数据库语句集合;
依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。
在一个实施例中,所述获取注入的数据库语句包括:
MySQL数据库、SQL Server数据库、Oracle数据库、PgSQL数据库、DB2数据库中的一种或多种的数据库语句。
在一个实施例中,所述依据所述数据库语句,进行语句处理,获取数据库语句的子语句集包括:
依据所述数据库语句进行第一处理,获取所述数据库语句的编码信息;所述第一处理用于对所述数据库语句进行编码处理;
依据所述编码信息,对所述数据库语句进行第二处理,获取所述数据库语句的子语句片段信息,所述第二处理用于对所述数据库语句进行关键字处理;
依据所述子语句片段信息,对所述数据库语句进行第三处理,获取所述数据库语句的子语句集,所述第三处理用于对所述数据库语句进行字段检测处理。
在一个实施例中,所述第一处理包括:
对所述数据库语句进行前置预处理,所述前置预处理包括如下方式中的一种或多种:
前置替换,用于通过数据库的替换函数替换数据库语句的指定字符;
Url转码,用于按照设定的规则将数据库语句的Url编码转换成设定编码;
Unicode编码,用于将数据库语句中的编码方案替换为Unicode编码方案;
16进制处理,用于将数据库语句中的不同进制方式统一转换成16进制方式;
注释处理,用于对所述数据库语句进行注释,所述注释包括单行注释和多行注释;
后置过滤处理,用于对所述数据库语句进行后置的过滤控制,实现对数据的筛选;
科学计数法处理,用于将所述数据库语句中的标准数值转换成科学计数法;
点号处理,用于对所述数据库语句中的点号进行处理。
在一个实施例中,所述第二处理包括:
获取数据库语句的编码信息;
依据所述编码信息,对所述数据库语句进行关键字成对检测;
依据所述关键字成对检测结果,提取所述数据库语句的字段信息;
依据所述字段信息,提取所述数据库语句的子语句片段信息。
在一个实施例中,所述第三处理包括:
依据所述子语句片段信息,通过数据操纵语言DML的关键字成对检测方式检测所述子语句片段信息;
依据所述关键字成对检测的结果,形成所述数据库语句的子语句集。
在一个实施例中,所述依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果包括:
获取数据库语句集中的数据库语句的子语句;
依据获取的所述数据库语句的子语句,使用数据查询系统druid进行中间件检测;
获取中间件检测响应的结果,形成风险检测评估和风险数据库语句参考。
本申请实施例提供了一种数据库注入检测装置,所述装置包括:
数据库语句获取模块,用于获取注入的数据库语句;
数据库语句处理模块,用于依据所述数据库语句,进行语句处理,获取数据库语句的子语句集,依据所述子语句集,获取数据库语句集合;
数据库语句检测模块,用于依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。
本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请任意实施例所提供的数据库注入检测方法的步骤。
本申请实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请任意实施例所提供的数据库注入检测方法的步骤。
与现有技术相比,本发明具有如下优点:
采用本发明的数据库注入检测方法、装置、电子设备及存储介质通过获取注入的数据库语句;进行语句处理,获取数据库语句的子语句集;形成数据库语句集合;使用数据查询系统druid进行数据库语句检测,获取检测结果,能够实现对目前主流的关系型数据库注入风险的检测,减少切换不同数据库,能很好的完成针对不同数据库的检测,能做到所见即所得的检测效果,性能及稳定性好。
附图说明
图1为本发明提出的数据库注入检测方法的流程图。
图2为一个实施例中数据库注入检测装置的结构框图;
图3为一个实施例中电子设备的内部结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本发明提供的一种数据库注入检测方法、装置、电子设备及存储介质进行更详细地说明。
图1为本发明提出的数据库注入检测方法的流程图,如图1所示,所述数据库注入检测方法包括:
步骤101,获取注入的数据库语句。
具体的,注入的数据库语句可以是数据库的片段,在实际的应用中,数据库可以是MySQL数据库、SQL Server数据库、Oracle数据库、PgSQL数据库、DB2数据库中的一种或多种的数据库语句,在具体检测过程中,如果涉及多种类型的数据库语句,在检测时需要把数据库语句按照数据库类型进行分类检测,这样才能判断某一类型的数据库的风险情况。
步骤102,依据所述数据库语句,进行语句处理,获取数据库语句的子语句集。
具体的,对数据库语句的处理包括数据库的前置预处理和复杂语句集的处理,具体为,所述依据所述数据库语句,进行语句处理,获取数据库语句的子语句集包括:
依据所述数据库语句进行第一处理,获取所述数据库语句的编码信息;所述第一处理用于对所述数据库语句进行编码处理;
依据所述编码信息,对所述数据库语句进行第二处理,获取所述数据库语句的子语句片段信息,所述第二处理用于对所述数据库语句进行关键字处理;
依据所述子语句片段信息,对所述数据库语句进行第三处理,获取所述数据库语句的子语句集,所述第三处理用于对所述数据库语句进行字段检测处理。
通过上述第一处理、第二处理、第三处理能够将数据库语句进行逐一检测,不存在漏报问题,通过第一处理能够解决数据库语句语义不统一的问题,减少误报率,通过第二处理能够有效进行数据库语句检测分类;通过第三处理能够实现对数据库语句的检测,给出数据库语句的风险评估和风险数据库提示。
具体的,所述第一处理包括:
对所述数据库语句进行前置预处理,通过前置处理,解决数据库语句存在的特殊字符、乱码、URL编码等问题,使数据库语句具有统一的格式和语义,减少数据库语句的误报率,在本申请的实施例中,使用的所述前置预处理方式包括如下一种或多种:
前置替换,用于通过数据库的替换函数替换数据库语句的指定字符,通过前置替换能够将某些特殊字符转换成用户设定的指定字符,比如:使用替换函数replace()将指定的项目内容替换成设置的内容。
Url转码,用于按照设定的规则将数据库语句的Url编码转换成设定编码,通过URL转码,能够转换数据库的URL编码,比如:通过URL转码,将URL编码转换成汉字。
Unicode编码,用于将数据库语句中的编码方案替换为Unicode编码方案,特别的,在数据库语句中处理Unicode编码放啊的字串常数时,必需在所有的Unicode编码方案的字串前加上大写字母N做为前置词,N前置词代表的是SQL-92标淮中的国家语言,且必须为大写。如果没有在Unicode字串常数前面加上N作为前置词,则数据库语句会在使用字串前,先将其转换成目前资料库的非Unicode字码页。
16进制处理,用于将数据库语句中的不同进制方式统一转换成16进制方式,比如将10进制转换成16进制。
注释处理,用于对所述数据库语句进行注释,所述注释包括单行注释和多行注释。
后置过滤处理,用于对所述数据库语句进行后置的过滤控制,实现对数据的筛选。
科学计数法处理,用于将所述数据库语句中的标准数值转换成科学计数法。
点号处理,用于对所述数据库语句中的点号进行处理。
具体的,在一个实施例中,所述第二处理包括:
获取数据库语句的编码信息,也即是通过第一处理后,数据库语句进行了前置处理,获取了统一的数据库语句的格式和语义后的编码信息;
依据所述编码信息,对所述数据库语句进行关键字成对检测。
具体的,关键字检测的目的是获取数据库语句的多个关键字匹配和单个关键字匹配,通过对所述数据库语句进行关键字成对检测,获取了数据库语句检测的关键字。
依据所述关键字成对检测结果,提取所述数据库语句的字段信息。
具体的,在获取了数据库语句检测的关键字以后,通过获取的关键字,可以提取数据库语句的字段信息。
依据所述字段信息,提取所述数据库语句的子语句片段信息。
具体的,得到了数据库语句的字段信息以后,可以通过字段信息获取数据库语句的子语句片段信息,即在获取的数据库语句中,根据数据来的类型,获取每一个类型数据路的信息,也即是数据库语句的子语句片段信息。
具体的,在一个实施例中,所述第三处理包括:
依据所述子语句片段信息,通过数据操纵语言DML(英文全称:Data ManipulationLanguage,简称DML)的关键字成对检测方式检测所述子语句片段信息。
具体的,数据操纵语言DML用于对数据库语句的基本操作,比如,对数据的插入、删除和修改,特别的,数据操纵语言DML用于数据库中检索出满足条件的数据,它可以是一个数据项,一个记录或一组记录,通过数据操纵语言DML的关键字成对检测方式,能够获取用于设定的数据库语句的信息。
依据所述关键字成对检测的结果,形成所述数据库语句的子语句集。
步骤103,依据所述子语句集,获取数据库语句集合;
步骤104,依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。
具体的,所述依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果包括:
获取数据库语句集中的数据库语句的子语句;
依据获取的所述数据库语句的子语句,使用数据查询系统druid进行中间件检测;
具体的,在数据查询系统druid进行中间件检测时,按照MySQL数据库、SQL Server数据库、Oracle数据库、PgSQL数据库、DB2数据库的类型分别提交至数据查询系统druid,根据关键字成对匹配的方式获取每个数据库类型中的数据库语句片段,然后检测每个数据库语句片段中的数据操纵语言DML操作的关键字成对检测,形成数据库语句的集合。具体的,数据操纵语言DML操作包括数据的创建、插入或者删除。
获取中间件检测响应的结果,形成风险检测评估和风险数据库语句参考。
具体的,针对MySQL数据库、SQL Server数据库、Oracle数据库、PgSQL数据库、DB2数据库的类型进行检测,如果其中一个检测通过,定义为有风险,收集检测的相应数据库类型的数据库语句,形成风险检测评估和风险数据库语句参考,收集数据库注入检测的日志,返回JSON(英文全称:JavaScript Object Notation,JS对象简谱)结果。
本申请实施例的数据库注入检测方法通过获取注入的数据库语句;进行语句处理,获取数据库语句的子语句集;形成数据库语句集合;使用数据查询系统druid进行数据库语句检测,获取检测结果,能够实现对目前主流的关系型数据库注入风险的检测,减少切换不同数据库,能很好的完成针对不同数据库的检测,能做到所见即所得的检测效果,性能及稳定性好。
应该理解的是,虽然图2的流程图中的各个步骤依次显示,但是这些步骤并不是必然按顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种数据库注入检测装置,所述装置包括:数据库语句获取模块、数据库语句处理模块、数据库语句检测模块。
数据库语句获取模块,用于获取注入的数据库语句;
数据库语句处理模块,用于依据所述数据库语句,进行语句处理,获取数据库语句的子语句集,依据所述子语句集,获取数据库语句集合;
数据库语句检测模块,用于依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。
本申请的数据库注入检测装置通过数据库语句获取模块获取注入的数据库语句,通过数据库语句处理模块依据所述数据库语句,进行语句处理,获取数据库语句的子语句集,依据所述子语句集,获取数据库语句集合,通过数据库语句检测模块依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。能够实现对目前主流的关系型数据库注入风险的检测,减少切换不同数据库,能很好的完成针对不同数据库的检测,能做到所见即所得的检测效果,性能及稳定性好。
关于基于数据库注入检测装置的具体限定可以参见上文中对于数据库注入检测方法的限定,在此不再赘述。上述基于数据库注入检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子设备,该电子设备内部结构图可以如图3所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和数据库注入检测装置。该内存储器为非易失性存储介质中的操作系统和数据库注入检测装置的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该数据库注入检测装置被处理器执行时以实现一种数据库注入检测方法。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据库注入检测装置可以实现为一种计算机程序的形式,计算机程序可在如图3所示的电子设备上运行。电子设备的存储器中可存储组成该数据库注入检测装置的各个程序模块,比如,图2所示的数据库语句获取模块、数据库语句处理模块和数据库语句检测模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据库注入检测方法中的步骤。
本申请处理器执行计算机程序时通过数据库语句获取模块获取注入的数据库语句,通过数据库语句处理模块依据所述数据库语句,进行语句处理,获取数据库语句的子语句集,依据所述子语句集,获取数据库语句集合,通过数据库语句检测模块依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。能够实现对目前主流的关系型数据库注入风险的检测,减少切换不同数据库,能很好的完成针对不同数据库的检测,能做到所见即所得的检测效果,性能及稳定性好。
在一个实施例中,提供了一种计算机可读存储介质,计算机程序可存储于一非易失性计算机可读取存储介质中,计算机程序被处理器执行时实现以下步骤:获取注入的数据库语句;依据所述数据库语句,进行语句处理,获取数据库语句的子语句集;依据所述子语句集,获取数据库语句集合;依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。
本申请计算机程序被处理器执行时通过数据库语句获取模块获取注入的数据库语句,通过数据库语句处理模块依据所述数据库语句,进行语句处理,获取数据库语句的子语句集,依据所述子语句集,获取数据库语句集合,通过数据库语句检测模块依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。能够实现对目前主流的关系型数据库注入风险的检测,减少切换不同数据库,能很好的完成针对不同数据库的检测,能做到所见即所得的检测效果,性能及稳定性好。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,比如静态随机存取存储器(Static Random Access Memory,SRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种数据库注入检测方法,其特征在于,所述方法包括:
获取注入的数据库语句;
依据所述数据库语句,进行语句处理,获取数据库语句的子语句集;
依据所述子语句集,获取数据库语句集合;
依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果;
所述依据所述数据库语句,进行语句处理,获取数据库语句的子语句集包括:
依据所述数据库语句进行第一处理,获取所述数据库语句的编码信息;所述第一处理用于对所述数据库语句进行编码处理;
依据所述编码信息,对所述数据库语句进行第二处理,获取所述数据库语句的子语句片段信息,所述第二处理用于对所述数据库语句进行关键字处理;
依据所述子语句片段信息,对所述数据库语句进行第三处理,获取所述数据库语句的子语句集,所述第三处理用于对所述数据库语句进行字段检测处理;
所述第二处理包括:
获取数据库语句的编码信息;
依据所述编码信息,对所述数据库语句进行关键字成对检测;
依据所述关键字成对检测结果,提取所述数据库语句的字段信息;
依据所述字段信息,提取所述数据库语句的子语句片段信息。
2.根据权利要求1所述的数据库注入检测方法,其特征在于,所述获取注入的数据库语句包括:
MySQL数据库、SQL Server数据库、Oracle数据库、PgSQL数据库、DB2数据库中的一种或多种的数据库语句。
3.根据权利要求1所述的数据库注入检测方法,其特征在于,所述第一处理包括:
对所述数据库语句进行前置预处理,所述前置预处理包括如下方式中的一种或多种:
前置替换,用于通过数据库的替换函数替换数据库语句的指定字符;
Url转码,用于按照设定的规则将数据库语句的Url编码转换成设定编码;
Unicode编码,用于将数据库语句中的编码方案替换为Unicode编码方案;
16进制处理,用于将数据库语句中的不同进制方式统一转换成16进制方式;
注释处理,用于对所述数据库语句进行注释,所述注释包括单行注释和多行注释;
后置过滤处理,用于对所述数据库语句进行后置的过滤控制,实现对数据的筛选;
科学计数法处理,用于将所述数据库语句中的标准数值转换成科学计数法;
点号处理,用于对所述数据库语句中的点号进行处理。
4.根据权利要求1所述的数据库注入检测方法,其特征在于,所述第三处理包括:
依据所述子语句片段信息,通过数据操纵语言DML的关键字成对检测方式检测所述子语句片段信息;
依据所述关键字成对检测的结果,形成所述数据库语句的子语句集。
5.根据权利要求1所述的数据库注入检测方法,其特征在于,所述依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果包括:
获取数据库语句集中的数据库语句的子语句;
依据获取的所述数据库语句的子语句,使用数据查询系统druid进行中间件检测;
获取中间件检测响应的结果,形成风险检测评估和风险数据库语句参考。
6.一种数据库注入检测装置,其特征在于,所述装置包括:
数据库语句获取模块,用于获取注入的数据库语句;
数据库语句处理模块,用于依据所述数据库语句,进行语句处理,获取数据库语句的子语句集,依据所述子语句集,获取数据库语句集合,所述数据库语句处理模块依据所述数据库语句进行第一处理,获取所述数据库语句的编码信息;依据所述编码信息,对所述数据库语句进行第二处理,获取所述数据库语句的子语句片段信息;依据所述子语句片段信息,对所述数据库语句进行第三处理,获取所述数据库语句的子语句集;所述第二处理包括:获取数据库语句的编码信息;依据所述编码信息,对所述数据库语句进行关键字成对检测;依据所述关键字成对检测结果,提取所述数据库语句的字段信息;依据所述字段信息,提取所述数据库语句的子语句片段信息;
数据库语句检测模块,用于依据所述数据库语句集合,使用数据查询系统druid进行数据库语句检测,获取检测结果。
7.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN202011413340.9A 2020-12-07 2020-12-07 数据库注入检测方法、装置、电子设备及存储介质 Active CN112202822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011413340.9A CN112202822B (zh) 2020-12-07 2020-12-07 数据库注入检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011413340.9A CN112202822B (zh) 2020-12-07 2020-12-07 数据库注入检测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN112202822A CN112202822A (zh) 2021-01-08
CN112202822B true CN112202822B (zh) 2021-02-23

Family

ID=74033737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011413340.9A Active CN112202822B (zh) 2020-12-07 2020-12-07 数据库注入检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112202822B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082810A (zh) * 2009-11-30 2011-06-01 中国移动通信集团广西有限公司 一种用户终端访问互联网的方法、系统及装置
CN106355094A (zh) * 2016-07-08 2017-01-25 耿童童 一种基于语法变换的sql注入攻击防御系统及防御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744802B (zh) * 2013-12-20 2017-05-24 北京奇安信科技有限公司 Sql注入攻击的识别方法及装置
US9680865B2 (en) * 2014-10-10 2017-06-13 Secret Media Inc. Reliable user-device content and media delivery apparatuses, methods and systems
CN104715018B (zh) * 2015-02-04 2018-04-20 同程网络科技股份有限公司 基于语义分析的智能防sql注入方法
CN105160252B (zh) * 2015-08-10 2017-12-19 北京神州绿盟信息安全科技股份有限公司 一种结构化查询语言注入攻击的检测方法及装置
CN106503557B (zh) * 2016-07-08 2019-10-08 北京卫达信息技术有限公司 基于动态变换的sql注入攻击防御系统及防御方法
CN108573152A (zh) * 2017-03-14 2018-09-25 北京京东尚科信息技术有限公司 检测sql注入攻击的方法、装置、服务器和存储介质
CN107480268A (zh) * 2017-08-17 2017-12-15 北京奇虎科技有限公司 数据查询方法及装置
CN107526968A (zh) * 2017-08-18 2017-12-29 郑州云海信息技术有限公司 一种基于语法分析的sql防注入方法和装置
CN108009236B (zh) * 2017-11-29 2020-11-03 北京锐安科技有限公司 一种大数据查询方法、系统、计算机及存储介质
CN108737425B (zh) * 2018-05-24 2021-06-08 北京凌云信安科技有限公司 基于多引擎漏洞扫描关联分析的脆弱性管理系统
CN109947770A (zh) * 2018-08-14 2019-06-28 武汉斗鱼网络科技有限公司 一种数据库查询方法、终端设备及存储介质
CN109324985A (zh) * 2018-09-03 2019-02-12 中新网络信息安全股份有限公司 一种基于机器学习的自动适应场景的sql注入识别方法
CN110362597A (zh) * 2019-06-28 2019-10-22 华为技术有限公司 一种结构化查询语言sql注入检测方法及装置
CN111818166B (zh) * 2020-07-09 2022-12-09 杭州隐捷适生物科技有限公司 采用http协议代理数据库协议的通信中间件的实现方法
CN112035508A (zh) * 2020-08-27 2020-12-04 深圳天源迪科信息技术股份有限公司 基于sql在线元数据解析的方法及系统、设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102082810A (zh) * 2009-11-30 2011-06-01 中国移动通信集团广西有限公司 一种用户终端访问互联网的方法、系统及装置
CN106355094A (zh) * 2016-07-08 2017-01-25 耿童童 一种基于语法变换的sql注入攻击防御系统及防御方法

Also Published As

Publication number Publication date
CN112202822A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
US10803197B1 (en) Masking sensitive information in records of filtered accesses to unstructured data
US20120317134A1 (en) Database table comparison
WO2021068547A1 (zh) 日志模板提取方法及装置
US9645828B2 (en) Method of searching character string, character string searching device, and recording medium
KR20150038738A (ko) 비밀 정보의 검출
CN111475525A (zh) 基于结构化查询语言的脱敏方法、及其相关设备
CN111008348A (zh) 反爬虫方法、终端、服务器及计算机可读存储介质
CN114356968A (zh) 查询语句生成方法、装置、计算机设备及存储介质
US10025936B2 (en) Systems and methods for SQL value evaluation to detect evaluation flaws
US10002254B2 (en) Systems and methods for SQL type evaluation to detect evaluation flaws
CN116126997B (zh) 一种文献去重存储方法、系统、设备及存储介质
CN112612810A (zh) 慢sql语句识别方法及系统
CN112202822B (zh) 数据库注入检测方法、装置、电子设备及存储介质
CN111709026A (zh) 静态安全检测方法、装置、计算机设备和存储介质
CN115544007A (zh) 标签预处理方法、装置、计算机设备和存储介质
CN114666078B (zh) Sql注入攻击的检测方法及系统、电子设备及存储介质
CN112733523B (zh) 文档发送方法、装置、设备及存储介质
JP6870454B2 (ja) 分析装置、分析プログラム及び分析方法
CN112347477A (zh) 家族变种恶意文件挖掘方法和装置
CN117312833B (zh) 一种应用于数字资产环境中的数据识别方法及系统
Tuttle et al. Reverse engineering for mobile systems forensics with Ares
US11698889B2 (en) Method, electronic device, and computer program product for processing data
CN117009319B (zh) 基于大语言模型的数据库操作方法、系统及存储介质
WO2021255841A1 (ja) 情報検索装置、情報検索方法、及びコンピュータ読み取り可能な記録媒体
JP4304226B2 (ja) 構造化文書管理システム、構造化文書管理方法及びプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant