SQL注入漏洞检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:39127483 阅读:7 留言:0更新日期:2023-10-23 14:49
本申请提供一种SQL注入漏洞检测方法、装置、电子设备及存储介质,用以提高检测SQL注入漏洞的准确率。该方法包括:获取用户请求中的载荷信息;对所述载荷信息进行解码操作,得到第一表达式;对第一表达式进行语义归一化处理,得到第二表达式;对第二表达式进行漏洞检测,得到漏洞检测结果。由于本申请是在对用户请求的载荷信息进行解码操作和语义归一化处理,得到第二表达式后,对语义明确的第二表达式进行漏洞检测,从而可以提高漏洞检测的效率和准确率。和准确率。和准确率。

【技术实现步骤摘要】
SQL注入漏洞检测方法、装置、电子设备及存储介质


[0001]本申请涉及信息安全
,特别涉及一种SQL注入漏洞检测方法、装置、电子设备及存储介质。

技术介绍

[0002]结构化查询语言(Structured Query Language,SQL)注入漏洞是一种应用广泛、具有很大威胁性的Web攻击技术,通过猜解和验证目标系统的SQL执行逻辑,国建能够欺骗解释器的攻击载荷,执行攻击性的命令或者访问未被授权的数据。这种攻击刚发隐蔽性强,受攻击后的Web应用系统可能会产生敏感信息的泄漏或破坏,给正常业务造成非常严重的影响。
[0003]现有的对SQL注入漏洞进行检测的方法主要通过正则表达式的方式去匹配用户请求,得到漏洞检测结果。但是,攻击者为了绕过正则会使用混淆等手段编写用户请求,相应的正则为了反绕过只能编写更加复杂的表达式,导致需要维护的正则表达式越来越多、越来越复杂,检测效率和准确率较低。

技术实现思路

[0004]本申请提供一种SQL注入漏洞检测方法、装置、电子设备及存储介质,用以提高检测SQL注入漏洞的效率和准确率。
[0005]第一方面,本申请实施例提供一种SQL注入漏洞检测方法,该方法包括:
[0006]获取用户请求中的载荷信息;所述载荷信息用于表征所述用户请求中用户控制的数据;
[0007]对所述载荷信息进行解码操作,得到第一表达式;
[0008]对所述第一表达式进行语义归一化处理,得到第二表达式;
[0009]对所述第二表达式进行漏洞检测,得到漏洞检测结果。
[0010]由于本申请实施例在获取到用户请求中的载荷信息后,对载荷信息进行解码操作和语义归一化处理,得到语义明确的第二表达式,并对第二表达式进行漏洞检测,从而可以提高漏洞检测效率和准确率。
[0011]一种可选的实施方式为,所述对所述载荷信息进行解码操作,得到第一表达式,包括:
[0012]对所述载荷信息进行多次解码操作,得到第一表达式;所述解码操作包含URL解码操作、base64解码操作、base32解码操作和十六进制解码操作;
[0013]其中,执行一次解码操作,包括以下步骤:
[0014]依次对所述载荷信息执行所述URL解码操作、所述base64解码操作、所述base32解码操作和所述十六进制解码操作。
[0015]由于本申请实施例对载荷信息进行多次解码操作,可以降低用户请求的复杂度,得到语义较为明确的第一表达式。
[0016]一种可选的实施方式为,所述对所述第一表达式进行语义归一化处理,得到第二表达式,包括:
[0017]对所述第一表达式进行特殊字符转换和逻辑字符转换,得到第一候选表达式;
[0018]对所述第一候选表达式进行关键词转换,得到第二候选表达式;
[0019]执行所述第二候选表达式中的执行语句,得到执行结果;
[0020]将所述第二候选表达式中的执行语句更新为所述执行结果,得到所述第二表达式。
[0021]本申请实施例通过对第一表达式进行特殊字符转换、逻辑字符转换、关键词转换以及执行语句转换,完成对第一表达式的语义归一化处理,得到语义明确的第二表达式,从而可以提高后续基于第二表达式进行漏洞检测的准确率。
[0022]一种可选的实施方式为,所述对所述第一候选表达式进行关键词转换,得到第二候选表达式,包括:
[0023]通过模糊匹配,确定所述第一候选表达式中与关键词相似的字符串;
[0024]将所述关键词替换所述第一候选表达式中与所述关键词相似的字符串,得到所述第二候选表达式。
[0025]由于本申请实施例将第一候选表达式中的与关键词相似的字符串,更新为其对应的关键词,从而可以得到语义明确的第二候选表达式。
[0026]一种可选的实施方式为,所述将所述第二候选表达式中的执行语句更新为所述执行结果,包括:
[0027]确定所述执行语句中的关键词;
[0028]将所述第二候选表达式中的执行语句更新为所述执行结果和所述关键词。
[0029]一种可选的实施方式为,所述对所述第二表达式进行漏洞检测,得到漏洞检测结果,包括:
[0030]将所述第二表达式与正则表达式进行特征匹配;
[0031]若匹配失败,则确定所述漏洞检测结果为未检测到SQL注入漏洞;或者,
[0032]若匹配成功,则确定所述漏洞检测结果为检测到所述SQL注入漏洞。
[0033]由于本申请实施例是对语义明确的第二表达式进行正则表达式匹配SQL注入漏洞的特征,从而可以降低需要维护的正则表达式的数量,减小维护成本,进而可以提高漏洞检测效率和准确率。
[0034]第二方面,本申请实施例提供一种SQL注入漏洞检测装置,包括:
[0035]获取单元,用于获取用户请求中的载荷信息;所述载荷信息用于表征所述用户请求中用户控制的数据;
[0036]解码单元,用于对所述载荷信息进行解码操作,得到第一表达式;
[0037]处理单元,用于对所述第一表达式进行语义归一化处理,得到第二表达式;
[0038]检测单元,用于对所述第二表达式进行漏洞检测,得到漏洞检测结果。
[0039]第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现如第一方面所记载的SQL注入漏洞检测方法。
[0040]第四方面,本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存
储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面所记载的SQL注入漏洞检测方法。
[0041]第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
[0042]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]图1本申请实施例提供的一种SQL注入漏洞检测方法的流程示意图;
[0044]图2本申请实施例提供的一解码操作的执行流程示意图;
[0045]图3为本申请实施例提供的一种SQL注入漏洞检测的完整流程示意图;
[0046]图4为本申请实施例提供的一种SQL注入漏洞检测装置的结构示意图;
[0047]图5为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
[0048]为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种SQL注入漏洞检测方法,其特征在于,包括:获取用户请求中的载荷信息;所述载荷信息用于表征所述用户请求中用户控制的数据;对所述载荷信息进行解码操作,得到第一表达式;对所述第一表达式进行语义归一化处理,得到第二表达式;对所述第二表达式进行漏洞检测,得到漏洞检测结果。2.根据权利要求1所述的方法,其特征在于,所述对所述载荷信息进行解码操作,得到第一表达式,包括:对所述载荷信息进行多次解码操作,得到第一表达式;所述解码操作包含URL解码操作、base64解码操作、base32解码操作和十六进制解码操作;其中,执行一次解码操作,包括以下步骤:依次对所述载荷信息执行所述URL解码操作、所述base64解码操作、所述base32解码操作和所述十六进制解码操作。3.根据权利要求1所述的方法,其特征在于,所述对所述第一表达式进行语义归一化处理,得到第二表达式,包括:对所述第一表达式进行特殊字符转换和逻辑字符转换,得到第一候选表达式;对所述第一候选表达式进行关键词转换,得到第二候选表达式;执行所述第二候选表达式中的执行语句,得到执行结果;将所述第二候选表达式中的执行语句更新为所述执行结果,得到所述第二表达式。4.根据权利要求3所述的方法,其特征在于,所述对所述第一候选表达式进行关键词转换,得到第二候选表达式,包括:通过模糊匹配,确定所述第一候选表达式中与关键词相似的字符串;将所述关键词替换所述第一候选表达式中与所述关键词相似的字符串,得到所述第二候选表达式。5.根据权利要求3所述的方法,其特征在于,所述将所述第二候选表达式中的执行语句更新为所述执行结果,包括:确定所述执行语句中的关键词;将所述第...

【专利技术属性】
技术研发人员:王有元胡中明王兴科杨旭
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

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

1