SQL注入风险的检测方法、装置、电子装置和存储介质制造方法及图纸

技术编号:25915508 阅读:20 留言:0更新日期:2020-10-13 10:34
本申请涉及一种SQL注入风险的检测方法、装置、电子装置和存储介质,其中,该SQL注入风险的检测方法包括:获取SQL注入请求;将SQL注入请求发送给模拟防护系统;根据SQL注入请求,判断模拟防护系统中是否发生对应于SQL注入请求的事件;在模拟防护系统中发生对应于SQL注入请求的事件的情况下,标记SQL注入请求为风险请求。通过本申请,解决了相关技术中,无法对SQL注入请求的风险进行判断所导致的防护系统需要对每条SQL注入请求都进行逐一拦截进而增大防护系统的负荷的问题,实现了降低数据库防护系统的负荷的技术效果。

【技术实现步骤摘要】
SQL注入风险的检测方法、装置、电子装置和存储介质
本申请实施例涉及数据库
,特别是涉及SQL注入风险的检测方法、装置、电子装置和存储介质。
技术介绍
数据库系统(DatabaseSystem,简称为DBS)是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。随着互联网和移动互联网的高速发展,越来越多的应用服务被接入到网络中,大多数网络服务都是基于数据库系统,这些数据库系统中拥有海量的用户数据,这些数据一旦泄露,会给用户经济和精神上带来巨大损失。因此,数据库系统的安全防护成为如今互联网领域关注的一个焦点。SQL(结构化查询语言,StructuredQueryLanguage,简称SQL)注入攻击是通过发起可以让程序执行恶意SQL代码的请求,从而达到获取或操控数据库里的数据的目的的攻击方法,若无法防止SQL注入攻击,将导致数据库系统被攻击的可能性大大增加。因此,如何对SQL注入攻击进行检测及防范成为了提高数据库系统安全防护能力的关键。目前相关技术中的对SQL注入攻击的检测技术往往只可以将攻击者的攻击行为暴露出来,但是无法将攻击行为可能造成的风险暴露出来,例如,对每条SQL语句进行注入判断和检查,若发送SQL注入请求则对该SQL语句进行拦截。这类技术防范存在以下技术缺陷:真正有风险的SQL注入攻击可能隐藏于大量无效的SQL注入请求中,由于无法对SQL注入请求的风险进行判断,导致防护系统需要对每条SQL注入请求都进行逐一拦截,这增大了防护系统的负荷,导致数据库防护系统的处理效率低下。针对相关技术中的无法对SQL注入请求的风险进行判断所导致的防护系统需要对每条SQL注入请求都进行逐一拦截进而增大防护系统的负荷的问题,尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种SQL注入风险的检测方法、装置、电子装置和存储介质,以至少解决相关技术中的无法对SQL注入请求的风险进行判断所导致的防护系统需要对每条SQL注入请求都进行逐一拦截进而增大防护系统的负荷的问题。第一方面,本申请实施例提供了一种SQL注入风险的检测方法,应用于对数据库系统的SQL注入风险的防护,所述方法包括:获取SQL注入请求;将所述SQL注入请求发送给模拟防护系统;根据所述SQL注入请求,判断所述模拟防护系统中是否发生对应于所述SQL注入请求的事件;在所述模拟防护系统中发生对应于所述SQL注入请求的事件的情况下,标记所述SQL注入请求为风险请求。在其中一些实施例中,在将所述SQL注入请求发送给模拟防护系统之前,所述方法还包括:根据预设SQL语句模板,去除所述SQL注入请求中的多余字符、换行、注释,以及将所述SQL注入请求中的常量及变量的占位符使用统一符号代替,得到标准化的SQL注入请求。在其中一些实施例中,获取SQL注入请求包括:获取SQL请求;对所述SQL请求进行SQL注入检测,记录存在注入请求的所述SQL请求,得到SQL注入请求。在其中一些实施例中,对SQL请求进行SQL注入检测,记录存在注入请求的所述SQL请求,得到SQL注入请求包括:对所述SQL请求进行SQL注入检测,在检测到所述SQL请求不存在注入请求的情况下,将所述SQL请求发送给数据库系统;在检测到所述SQL请求存在注入请求的情况下,记录存在注入请求的所述SQL请求,得到SQL注入请求。在其中一些实施例中,在获取SQL注入请求之后,所述方法还包括:获取所述数据库系统的防护配置,其中,所述防护配置包括以下至少之一:配置于所述数据库系统内的防拖库保护表、防撞库SQL模板;在所述SQL注入请求对所述防拖库保护表查询次数超过预设阈值的情况下,拦截所述SQL注入请求的访问;或者在所述防撞库SQL模板中匹配所述标准化的SQL注入请求,在所述SQL注入请求匹配失败的情况下,拦截所述SQL注入请求。在其中一些实施例中,所述模拟防护系统包括以下至少之一:可接受模拟SQL注入请求的防护系统、嵌入在所述数据库系统中的可接受模拟SQL注入请求的防护模块。在其中一些实施例中,在标记所述SQL注入请求为风险请求之后,所述方法还包括:将所述SQL注入请求在预设加固方案库中信息匹配,将所述预设加固方案库中与所述SQL注入请求匹配的加固方案发送给所述数据库系统;根据所述加固方案,对所述数据库系统进行安全加固。第二方面,本申请实施例提供了一种SQL注入风险的检测装置,所述装置包括:获取模块,用于获取SQL注入请求;发送模块,用于将所述SQL注入请求发送给模拟防护系统;判断模块,用于根据所述SQL注入请求,判断所述模拟防护系统中是否发生对应于所述SQL注入请求的事件;匹配模块,用于在所述模拟防护系统中发生对应于所述SQL注入请求的事件的情况下,标记所述SQL注入请求为风险请求。第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行如第一方面所述的SQL注入风险的检测方法。第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行如第一方面所述的SQL注入风险的检测方法。相比于相关技术,本申请实施例提供的SQL注入风险的检测方法、装置、电子装置和存储介质,解决了相关技术中,无法对SQL注入请求的风险进行判断所导致的防护系统需要对每条SQL注入请求都进行逐一拦截进而增大防护系统的负荷的问题,实现了降低数据库防护系统负荷的技术效果。本申请实施例的一个或多个实施例的细节在以下附图和描述中提出,以使本申请实施例的其他特征、目的和优点更加简明易懂。附图说明此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,本申请实施例的示意性实施例及其说明用于解释本申请实施例,并不构成对本申请实施例的不当限定。在附图中:图1是根据本申请实施例的SQL注入风险的检测方法的流程图;图2是根据本申请优选实施例的SQL注入风险的检测方法的流程图;图3是根据本申请实施例的SQL注入风险的检测装置的结构示意图;图4是根据本申请实施例的电子装置的硬件结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的
技术实现思路
的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。在本申请中提及“实施例”意味着,结合本文档来自技高网
...

【技术保护点】
1.一种SQL注入风险的检测方法,应用于对数据库系统的SQL注入风险的防护,其特征在于,所述方法包括:/n获取SQL注入请求;/n将所述SQL注入请求发送给模拟防护系统;/n根据所述SQL注入请求,判断所述模拟防护系统中是否发生对应于所述SQL注入请求的事件;/n在所述模拟防护系统中发生对应于所述SQL注入请求的事件的情况下,标记所述SQL注入请求为风险请求。/n

【技术特征摘要】
1.一种SQL注入风险的检测方法,应用于对数据库系统的SQL注入风险的防护,其特征在于,所述方法包括:
获取SQL注入请求;
将所述SQL注入请求发送给模拟防护系统;
根据所述SQL注入请求,判断所述模拟防护系统中是否发生对应于所述SQL注入请求的事件;
在所述模拟防护系统中发生对应于所述SQL注入请求的事件的情况下,标记所述SQL注入请求为风险请求。


2.根据权利要求1所述的SQL注入风险的检测方法,其特征在于,在将所述SQL注入请求发送给模拟防护系统之前,所述方法还包括:
根据预设SQL语句模板,去除所述SQL注入请求中的多余字符、换行、注释,以及将所述SQL注入请求中的常量及变量的占位符使用统一符号代替,得到标准化的SQL注入请求。


3.根据权利要求1所述的SQL注入风险的检测方法,其特征在于,获取SQL注入请求包括:
获取SQL请求;
对所述SQL请求进行SQL注入检测,记录存在注入请求的所述SQL请求,得到SQL注入请求。


4.根据权利要求3所述的SQL注入风险的检测方法,其特征在于,对SQL请求进行SQL注入检测,记录存在注入请求的所述SQL请求,得到SQL注入请求包括:
对所述SQL请求进行SQL注入检测,在检测到所述SQL请求不存在注入请求的情况下,将所述SQL请求发送给数据库系统;
在检测到所述SQL请求存在注入请求的情况下,记录存在注入请求的所述SQL请求,得到SQL注入请求。


5.根据权利要求2所述的SQL注入风险的检测方法,其特征在于,在获取SQL注入请求之后,所述方法还包括:
获取所述数据库系统的防护配置,其中,所述防护配置包括以下至少之一:配置于所述数据库系统内的防拖库保护表、防撞库SQ...

【专利技术属性】
技术研发人员:郑云超范渊
申请(专利权)人:杭州安恒信息技术股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1