web应用程序的漏洞检测方法、设备及计算机可读存储介质技术

技术编号:30963882 阅读:18 留言:0更新日期:2021-11-25 20:29
本发明专利技术提供了一种web应用程序的漏洞检测方法、设备及计算机可读存储介质,其中,方法包括:获取待测web应用程序的请求数据;通过n个传播函数对请求数据进行传播,得到n条新请求数据,其中,n为大于1的正整数,传播函数的输出为新请求数据,第n个传播函数的输入为第n

【技术实现步骤摘要】
web应用程序的漏洞检测方法、设备及计算机可读存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种web应用程序的漏洞检测方法、设备及计算机可读存储介质。

技术介绍

[0002]相关技术中,web应用程序的安全测试技术一般包括DAST(Dynamic Application Security Testing,动态应用程序安全测试)技术、SAST(Static Application Security Testing,静态应用程序安全测试)技术以及IAST(Interactive Application Security Testing,交互式应用程序安全测试)技术。在IAST技术中,对待测web应用程序进行漏洞检测时,通常会对污点数据以及相应的函数流进行跟踪;其中,污点数据是指位于待测web应用程序的前端由用户所输入的数据。在跟踪过程中,由于污点数据以及相应的函数流都会被存储在当前的线程变量内,从而使得在多线程切换时,容易出现由对污点数据以及相应的函数流的跟踪丢失所引起的漏洞漏检的现象,进而导致对待测web应用程序进行漏洞检测时的全面性和准确性均较低。
[0003]因此,有必要对上述web应用程序的漏洞检测方法进行改进。

技术实现思路

[0004]本专利技术提供了一种web应用程序的漏洞检测方法、设备及计算机可读存储介质,旨在解决相关技术中对待测web应用程序进行漏洞检测时的全面性和准确性均较低的问题。
[0005]为了解决上述技术问题,本专利技术实施例第一方面提供了一种web应用程序的漏洞检测方法,包括:
[0006]通过输入函数获取待测web应用程序的请求数据;所述请求数据与用户在所述待测web应用程序的前端的操作相关;
[0007]通过n个传播函数对所述请求数据进行传播,得到n条新请求数据;其中,n为大于1的正整数;第一个所述传播函数的输入为所述请求数据,第n个所述传播函数的输入为第n

1个所述传播函数的输出,且每一个所述传播函数的输出均为一条所述新请求数据,每一条所述新请求数据的数据类型均与所述请求数据不同;
[0008]第n个所述传播函数对第n

1个所述传播函数输出的所述新请求数据进行获取前,将n

1个所述传播函数以及相应输出的所述新请求数据从当前线程变量复制到全局变量,且当第n个所述传播函数获取不到第n

1个所述传播函数输出的所述新请求数据时,从所述全局变量中获取第n

1个所述传播函数输出的所述新请求数据;
[0009]通过执行函数获取执行参数;所述执行函数用于基于所述执行参数执行关键动作,所述关键动作与所述用户在所述待测web应用程序的前端的操作相关;
[0010]根据所述执行参数、所述请求数据以及各所述新请求数据,判断所述待测web应用程序是否存在漏洞。
[0011]本专利技术实施例第二方面提供了一种web应用程序的漏洞检测设备,包括:存储装置
及一个或多个处理器,所述存储装置用于存储一个或多个程序,其中,当一个或多个所述程序被一个或多个所述处理器执行时,使得一个或多个所述处理器执行如本专利技术实施例第一方面所述的web应用程序的漏洞检测方法。
[0012]本专利技术实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,所述可执行指令被执行时执行如本专利技术实施例第一方面所述的web应用程序的漏洞检测方法。
[0013]从上述描述可知,与相关技术相比,本专利技术的有益效果在于:
[0014]先通过输入函数获取待测web应用程序的请求数据;再通过n个传播函数对请求数据进行传播,得到n条新请求数据,其中,第一个传播函数的输入为请求数据,第n个传播函数的输入为第n

1个传播函数的输出,且每一个传播函数的输出均为一条新请求数据;之后又通过执行函数获取执行参数;最后根据执行参数、请求数据以及各新请求数据,判断待测web应用程序是否存在漏洞。在此过程中,第n个传播函数对第n

1个传播函数的输出进行获取前,本专利技术会将n

1个传播函数以及相应的输出从当前线程变量复制到全局变量,且当第n个传播函数获取不到第n

1个传播函数的输出时,本专利技术会从全局变量中获取第n

1个传播函数的输出。基于此,在多线程切换时,即使发生了对当前线程变量中的请求数据以及相应的函数流的跟踪丢失(也即第n个传播函数获取不到第n

1个传播函数的输出),但是由于全局变量中仍然存储有第n

1个传播函数的输出,所以也不会引起漏洞漏检的现象,从而能够有效地提升对待测web应用程序进行漏洞检测时的全面性和准确性。
【附图说明】
[0015]为了更清楚地说明相关技术或本专利技术实施例中的技术方案,下面将对相关技术或本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,而并非是全部实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本专利技术实施例提供的web应用程序的漏洞检测方法的流程示意图;
[0017]图2为本专利技术实施例提供的web应用程序的漏洞检测设备的模块方框图;
[0018]图3为本专利技术实施例提供的计算机可读存储介质的模块方框图。
【具体实施方式】
[0019]为了使本专利技术的目的、技术方案以及优点更加的明显和易懂,下面将结合本专利技术实施例以及相应的附图,对本专利技术进行清楚、完整地描述,其中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。应当理解的是,下面所描述的本专利技术的各个实施例仅仅用以解释本专利技术,并不用于限定本专利技术,也即基于本专利技术的各个实施例,本领域的普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。此外,下面所描述的本专利技术的各个实施例中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
[0020]在相关技术中,由于污点数据以及相应的函数流都会被存储在当前的线程变量内,从而使得在多线程切换时,容易出现由对污点数据以及相应的函数流的跟踪丢失所引起的漏洞漏检的现象,进而导致对待测web应用程序进行漏洞检测时的全面性和准确性均
较低。为此,本专利技术实施例提供了一种web应用程序的漏洞检测方法。
[0021]请参阅图1,图1为本专利技术实施例提供的web应用程序的漏洞检测方法的流程示意图。
[0022]如图1所示,本专利技术实施例提供一种web应用程序的漏洞检测方法,该web应用程序的漏洞检测方法包括如下步骤101至105。
[0023]步骤101、通过输入函数获取待测web应用程序的请求数据;其中,请求数据与用户在待测web应用程序的前端的操作相关。
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种web应用程序的漏洞检测方法,其特征在于,包括:通过输入函数获取待测web应用程序的请求数据;所述请求数据与用户在所述待测web应用程序的前端的操作相关;通过n个传播函数对所述请求数据进行传播,得到n条新请求数据;其中,n为大于1的正整数;第一个所述传播函数的输入为所述请求数据,第n个所述传播函数的输入为第n

1个所述传播函数的输出,且每一个所述传播函数的输出均为一条所述新请求数据,每一条所述新请求数据的数据类型均与所述请求数据不同;第n个所述传播函数对第n

1个所述传播函数输出的所述新请求数据进行获取前,将n

1个所述传播函数以及相应输出的所述新请求数据从当前线程变量复制到全局变量,且当第n个所述传播函数获取不到第n

1个所述传播函数输出的所述新请求数据时,从所述全局变量中获取第n

1个所述传播函数输出的所述新请求数据;通过执行函数获取执行参数;所述执行函数用于基于所述执行参数执行关键动作,所述关键动作与所述用户在所述待测web应用程序的前端的操作相关;根据所述执行参数、所述请求数据以及各所述新请求数据,判断所述待测web应用程序是否存在漏洞。2.如权利要求1所述的web应用程序的漏洞检测方法,其特征在于,所述根据所述执行参数、所述请求数据以及各所述新请求数据,判断所述待测web应用程序是否存在漏洞之后,还包括:以当前线程结束的时刻作为参考时刻,对所述全局变量中的所述传播函数以及相应输出的所述新请求数据进行删除。3.如权利要求1所述的web应用程序的漏洞检测方法,其特征在于,所述根据所述执行参数、所述请求数据以及各所述新请求数据,判断所述待测web应用程序是否存在漏洞,包括:判断所述执行参数中是否存在漏洞攻击代码;若不存在,则确认所述待测web应用程序不存在漏洞;若存在,则参考所述执行参数与所述请求数据的第一相关性评价指标,以及所述执行参数与各所述新请求数据的第二相关性评价指标,判断所述待测web应用程序是否存在漏洞;其中,若所述第一相关性评价指标大于或等于第一相关性阈值,以及各所述第二相关性评价指标均大于或等于第二相关性阈值,则确认所述待测web应用程序存在漏洞。4.如权利要求3所述的web应用程序的漏洞检测方法,其特征在于,所述根据所述执行参数、所述请求数据...

【专利技术属性】
技术研发人员:刘海涛万振华王颉李华董燕
申请(专利权)人:深圳开源互联网安全技术有限公司
类型:发明
国别省市:

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

1