一种SQL注入漏洞检测方法、装置及可读存储介质制造方法及图纸

技术编号:32969498 阅读:14 留言:0更新日期:2022-04-09 11:32
根据本申请方案所提供的SQL注入漏洞检测方法,装置及可读存储介质,对系统请求输入的数据流的执行参数进行监听;若在监听过程中检测到执行参数在连接层存在数据库操作,则触发收集指令;根据收集指令收集数据处理阶段的执行参数的相关数据;根据相关数据检测包含执行参数的数据流是否存在SQL注入漏洞。通过本申请方案的实施,当数据流中的执行参数在连接层对数据库进行操作时,收集执行参数在输入阶段和传播阶段对应的内存地址的标记,根据两个阶段对应的内存地址的标记检测包含执行参数的数据流是否存在SQL注入漏洞,能够降低开发要求与测试要求,提高测试效率,加快代码提交速率。率。率。

【技术实现步骤摘要】
一种SQL注入漏洞检测方法、装置及可读存储介质


[0001]本申请涉及网络安全
,尤其涉及一种SQL注入漏洞检测方法、装置及可读存储介质。

技术介绍

[0002]系统安全、应用安全、敏感信息的保护等话题已经成为软件企业不能回避的挑战,如何在开发过程中制度化、流程化的实现安全特性,是所有软件企业都需着重考虑的问题,目前在.NET平台(一种用于构建多种应用的免费开源开发平台)上这种需求越来越多,采用C#开发的大型项目,如何在系统上线前确保不会存在SQL注入已经成了首要的解决的难点,目前来说,市面上.NET平台针对SQL类注入检测的方式包括:开发阶段制定开发手册,避免开发过程中随意编写不可控代码;代码审计,针对开发者实现的代码审阅和审查,杜绝不可控代码和危险代码;大量的后期测试,投入大量测试人员对项目各个方面进行安全测试。存在的缺陷包括:对开发人员在开发过程中的要求比较高,特殊时候可能存在不可控因素;大量审批导致代码提交缓慢,进度受影响;对测试人员要求较高,测试效率低。

技术实现思路

[0003]本申请实施例提供了一种SQL注入漏洞检测方法、装置及可读存储介质,至少能够解决相关技术中对开发人员在开发过程中的要求比较高,特殊时候可能存在不可控因素;大量审批导致代码提交缓慢,进度受影响;对测试人员要求较高,测试效率低的问题。
[0004]本申请实施例第一方面提供了一种SQL注入漏洞检测方法,包括:
[0005]对系统请求输入的数据流的执行参数进行监听;
[0006]若在监听过程中检测到所述执行参数在连接层存在数据库操作,则触发收集指令;其中,所述连接层位于框架与数据库之间;
[0007]根据所述收集指令收集数据处理阶段的所述执行参数的相关数据;其中,所述相关数据包括内存地址的标记;其中,所述数据处理阶段包括输入阶段和传播阶段;
[0008]根据所述相关数据检测包含所述执行参数的所述数据流是否存在SQL注入漏洞。
[0009]本申请实施例第二方面提供了一种SQL注入漏洞检测装置,包括:
[0010]监听模块,用于对系统请求输入的数据流的执行参数进行监听;
[0011]触发模块,用于若在监听过程中检测到所述执行参数在连接层存在数据库操作,则触发收集指令;其中,所述连接层位于框架与数据库之间;
[0012]收集模块,用于根据所述收集指令收集数据处理阶段的所述执行参数的相关数据;其中,所述相关数据包括内存地址的标记;其中,所述数据处理阶段包括输入阶段和传播阶段;
[0013]检测模块,用于根据所述相关数据检测包含所述执行参数的所述数据流是否存在SQL注入漏洞。
[0014]本申请实施例第三方面提供了一种电子装置,包括:存储器、处理器及总线,所述
总线用于实现所述存储器、处理器之间的连接通讯;所述处理器用于执行存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序时上述本申请实施例第一方面提供的SQL注入漏洞检测方法中的各步骤。
[0015]本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现上述本申请实施例第一方面提供的SQL注入漏洞检测方法中的各步骤。
[0016]由上可见,根据本申请方案所提供的SQL注入漏洞检测方法,装置及可读存储介质,对系统请求输入的数据流的执行参数进行监听;若在监听过程中检测到所述执行参数在连接层存在数据库操作,则触发收集指令;其中,所述连接层位于框架与数据库之间;根据所述收集指令收集数据处理阶段的所述执行参数的相关数据;其中,所述相关数据包括内存地址的标记;其中,所述数据处理阶段包括输入阶段和传播阶段;根据所述相关数据检测包含所述执行参数的所述数据流是否存在SQL注入漏洞。通过本申请方案的实施,当数据流中的执行参数在连接层对数据库进行操作时,收集执行参数在输入阶段和传播阶段对应的内存地址的标记,根据两个阶段对应的内存地址的标记检测包含执行参数的数据流是否存在SQL注入漏洞,能够降低开发要求与测试要求,提高测试效率,加快代码提交速率。
附图说明
[0017]图1为本申请第一实施例提供的SQL注入漏洞检测方法的基本流程示意图;
[0018]图2为本申请第二实施例提供的SQL注入漏洞检测方法的细化流程示意图;
[0019]图3为本申请第三实施例提供的SQL注入漏洞检测装置的程序模块示意图;
[0020]图4为本申请第四实施例提供的电子装置的结构示意图。
[0021]具体实施内容
[0022]为使得本申请的专利技术目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0023]为了解决相关技术中对开发人员在开发过程中的要求比较高,特殊时候可能存在不可控因素;大量审批导致代码提交缓慢,进度受影响;对测试人员要求较高,测试效率低的问题,本申请第一实施例提供了一种SQL注入漏洞检测方法,如图1为本实施例提供的SQL注入漏洞检测方法的基本流程图,该SQL注入漏洞检测方法包括以下步骤:
[0024]步骤101、对系统请求输入的数据流的执行参数进行监听。
[0025]具体的,在本实施例中,在系统请求后将会产生一个输入的数据流,该数据流中存在一个执行数据库操作的执行参数,用户安装部署的C#代码分析器会记录该执行参数,并对该执行参数进行监听。
[0026]在本实施例一种可选的实施方式中,对系统请求输入的数据流的执行参数进行监听的步骤之前,还包括:在被测应用运行时,自动注入到连接层并对连接层进行数据流监控。
[0027]具体的,在本实施例中的连接层为上层用户代码或面相对象的框架与底层数据库之间的连接层,本实施例的连接层选用ADO.NET层,在实际应用中,对SQL类注入检测的方法
通常需要投入大量的测试人员对项目各个方面进行测试,在本实施例中,用户安装部署C#代码分析器之后,应当说明的是,只需要配置被测应用的环境变量就可以将C#代码分析器配置到被测应用中,启动C#代码分析器,该分析器将自动实现对连接层的注入,并对连接层进行监控,等待数据流触发该分析器的检测机制,通过该分析器的自动注入以及监控可大大降低对测试人员的要求,提高测试效率。
[0028]在本实施例一种可选的实施方式中,对系统请求输入的数据流的执行参数进行监听的步骤,包括:获取系统请求输入的数据流的执行参数;对执行参数的第一内存地址进行标记;在标记执行参数的第一内存地址之后,对执行参数进行监听。
[0029]具体的,在本实施例中,在输入阶段,当在系统请求后产生一个输入的数据流时,C#代码分析器将会获取该数据流的执行参数,并对该执行参数的内存地址进行标记,应当理解的是,输入阶本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL注入漏洞检测方法,其特征在于,包括:对系统请求输入的数据流的执行参数进行监听;若在监听过程中检测到所述执行参数在连接层存在数据库操作,则触发收集指令;其中,所述连接层位于框架与数据库之间;根据所述收集指令收集数据处理阶段的所述执行参数的相关数据;其中,所述相关数据包括内存地址的标记;其中,所述数据处理阶段包括输入阶段和传播阶段;根据所述相关数据检测包含所述执行参数的所述数据流是否存在SQL注入漏洞。2.根据权利要求1所述的SQL注入漏洞检测方法,其特征在于,所述对系统请求输入的数据流的执行参数进行监听的步骤,包括:获取系统请求输入的数据流的执行参数;对所述执行参数的第一内存地址进行标记;在标记所述执行参数的所述第一内存地址之后,对所述执行参数进行监听。3.根据权利要求2所述的SQL注入漏洞检测方法,其特征在于,所述在标记所述执行参数的所述第一内存地址之后,对所述执行参数进行监听的步骤之后,还包括:在所述传播阶段对所述执行参数进行跟踪;当存在第一SQL语句与所述执行参数发生拼接时,获取拼接后的第二SQL语句;对所述第二SQL语句中所述执行参数的第二内存地址进行标记。4.根据权利要求3所述的SQL注入漏洞检测方法,其特征在于,所述对所述第二SQL语句中所述执行参数的第二内存地址进行标记的步骤之后,还包括:在重复对所述第二SQL语句中所述执行参数的第二内存地址进行标记之后,若所述执行参数的所述相关数据发生改变,则更新所述执行参数的第二内存地址以及所述第二内存地址的标记。5.根据权利要求1所述的SQL注入漏洞检测方法,其特征在于,所述根据所述相关数据检测包含所述执行参数的所述数据流是否存在SQL注入漏洞的步骤,包括:将对应于输入阶段的第一内存地址的标记与对应于传播阶段的第二内存地址的标记进行比较;当所述第一内存地址的标记与所述第二内存地址的标记一致时,确定包含所述执行参数的所述数据流存在SQL注入...

【专利技术属性】
技术研发人员:张江万振华王颉李华郑明
申请(专利权)人:深圳市九州安域科技有限公司
类型:发明
国别省市:

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

1