System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及测试,尤其涉及一种单页面应用程序页面模糊测试方法、装置及电子设备。
技术介绍
1、单页面应用程序(single page application,spa)是一种在全球广域网(worldwide web,web)开发中常见的技术,它使用javascript等前端技术来实现在单个页面上加载内容,而不是传统的多个页面跳转。单页面应用程序的兴起导致了对单页面应用程序的安全审计需求,以确保其免受潜在威胁。
2、在单页面应用程序安全领域,快速模糊(fuzz)测试是一项重要任务,旨在发现单页面应用程序中的漏洞和安全风险。在单页面应用程序的模糊测试中,传统方案中大多数用于扫描单页面应用程序的工具在模糊测试时未对页面元素进行充分过滤:1)这些工具未对已触发的事件进行标记,这可能导致同一页面元素被触发多次,进而浪费了不必要的资源,从而降低了模糊测试的效率和准确性;2)尽管这些工具会触发单页面应用程序页面上的各种事件,但缺乏智能机制,无法有效区分与测试目标相关和不相关的事件,存在事件触发的无效性问题,可能会引发潜在的破坏性问题的风险。
技术实现思路
1、本专利技术提供一种单页面应用程序页面模糊测试方法、装置及电子设备,用以实现提升模糊测试的效率、准确性和安全性。
2、本专利技术提供一种单页面应用程序页面模糊测试方法,包括:
3、获取待测试页面的多个页面元素;所述待测试页面为单页面应用程序页面;
4、针对每个所述页面元素,检测所述页面元素的可扩
5、在本次检测到所述页面元素的可扩展标记语言路径语言表达式已被标记的情况下,不执行后续操作;在本次检测到所述页面元素的可扩展标记语言路径语言表达式未被标记的情况下,确定所述页面元素的可扩展标记语言路径语言表达式为目标可扩展标记语言路径语言表达式,并对所述目标可扩展标记语言路径语言表达式进行标记;
6、基于所述目标可扩展标记语言路径语言表达式对应的所述页面元素的分析结果确定第一事件与第二事件是否匹配;所述第一事件为所述页面元素对应的事件,所述第二事件为与测试目标相关的事件;
7、在所述第一事件与所述第二事件匹配的情况下,通过触发所述第一事件与所述待测试页面进行交互;
8、确定所述待测试页面在本次交互后功能发生变更的区域,作为新的待测试页面。
9、根据本专利技术提供的一种单页面应用程序页面模糊测试方法,所述基于所述目标可扩展标记语言路径语言表达式对应的所述页面元素的分析结果确定第一事件与第二事件是否匹配,包括:
10、对所述目标可扩展标记语言路径语言表达式对应的所述页面元素的文档对象模型结构进行分析,得到包括所述页面元素的元素属性和元素内容的所述分析结果;
11、基于所述页面元素的元素属性和元素内容确定所述第一事件;
12、确定所述第一事件与所述第二事件是否匹配。
13、根据本专利技术提供的一种单页面应用程序页面模糊测试方法,所述基于所述页面元素的元素属性和元素内容确定所述第一事件,包括:
14、基于所述页面元素的元素属性和元素内容,对所述页面元素对应的事件类型进行标记;
15、基于标记的所述事件类型确定所述第一事件。
16、根据本专利技术提供的一种单页面应用程序页面模糊测试方法,所述确定所述第一事件与所述第二事件是否匹配,包括:
17、在所述第一事件的事件类型为与测试目标无关的事件或破坏性事件的情况下,确定所述第一事件与所述第二事件不匹配;
18、在所述第一事件的事件类型为与测试目标相关的事件的情况下,确定所述第一事件与所述第二事件匹配。
19、根据本专利技术提供的一种单页面应用程序页面模糊测试方法,所述通过触发所述第一事件与所述待测试页面进行交互,包括:
20、确定至少一个目标操作,所述目标操作是模拟用户与所述待测试页面进行交互的操作;
21、采用所述至少一个目标操作触发所述第一事件。
22、根据本专利技术提供的一种单页面应用程序页面模糊测试方法,所述至少一个目标操作包括填写表单数据、点击按钮、选择菜单项以及处理弹出对话框中的至少一项。
23、根据本专利技术提供的一种单页面应用程序页面模糊测试方法,所述获取待测试页面的多个页面元素,包括:
24、获取所述待测试页面的文档对象模型结构;
25、对所述文档对象模型结构进行分析,得到所述待测试页面的多个页面元素。
26、本专利技术还提供一种单页面应用程序页面模糊测试装置,包括:
27、获取模块,用于获取待测试页面的多个页面元素;所述待测试页面为单页面应用程序页面;
28、检测模块,用于针对每个所述页面元素,检测所述页面元素的可扩展标记语言路径语言表达式是否被标记;
29、标记模块,用于在本次检测到所述页面元素的可扩展标记语言路径语言表达式已被标记的情况下,不执行后续操作;在本次检测到所述页面元素的可扩展标记语言路径语言表达式未被标记的情况下,确定所述页面元素的可扩展标记语言路径语言表达式为目标可扩展标记语言路径语言表达式,并对所述目标可扩展标记语言路径语言表达式进行标记;
30、匹配模块,用于基于所述目标可扩展标记语言路径语言表达式对应的所述页面元素的分析结果确定第一事件与第二事件是否匹配;所述第一事件为所述页面元素对应的事件,所述第二事件为与测试目标相关的事件;
31、交互模块,用于在所述第一事件与所述第二事件匹配的情况下,通过触发所述第一事件与所述待测试页面进行交互;
32、确定模块,用于确定所述待测试页面在本次交互后功能发生变更的区域,作为新的待测试页面。
33、本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述的单页面应用程序页面模糊测试方法。
34、本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述的单页面应用程序页面模糊测试方法。
35、本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述的单页面应用程序页面模糊测试方法。
36、本专利技术提供的单页面应用程序页面模糊测试方法、装置及电子设备,首先,获取待测试页面的多个页面元素;待测试页面为单页面应用程序页面;而后,针对每个页面元素,检测页面元素的可扩展标记语言路径语言表达式是否被标记;在本次检测到页面元素的可扩展标记语言路径语言表达式已被标记的情况下,意味着该页面元素已经触发过了,不执行后续操作,可以对已触发的页面元素进行充分过滤,避免同一页面元素被触发多次,从而避免不必要的资源浪费;在本次检测到页面元素的可扩展标记语言路径语言表达式未被标记的情况下,意味着该页面元素还本文档来自技高网...
【技术保护点】
1.一种单页面应用程序页面模糊测试方法,其特征在于,包括:
2.根据权利要求1所述的单页面应用程序页面模糊测试方法,其特征在于,所述基于所述目标可扩展标记语言路径语言表达式对应的所述页面元素的分析结果确定第一事件与第二事件是否匹配,包括:
3.根据权利要求2所述的单页面应用程序页面模糊测试方法,其特征在于,所述基于所述页面元素的元素属性和元素内容确定所述第一事件,包括:
4.根据权利要求3所述的单页面应用程序页面模糊测试方法,其特征在于,所述确定所述第一事件与所述第二事件是否匹配,包括:
5.根据权利要求1至4任一项所述的单页面应用程序页面模糊测试方法,其特征在于,所述通过触发所述第一事件与所述待测试页面进行交互,包括:
6.根据权利要求5所述的单页面应用程序页面模糊测试方法,其特征在于,所述至少一个目标操作包括填写表单数据、点击按钮、选择菜单项以及处理弹出对话框中的至少一项。
7.根据权利要求1至4任一项所述的单页面应用程序页面模糊测试方法,其特征在于,所述获取待测试页面的多个页面元素,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的单页面应用程序页面模糊测试方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的单页面应用程序页面模糊测试方法。
...【技术特征摘要】
1.一种单页面应用程序页面模糊测试方法,其特征在于,包括:
2.根据权利要求1所述的单页面应用程序页面模糊测试方法,其特征在于,所述基于所述目标可扩展标记语言路径语言表达式对应的所述页面元素的分析结果确定第一事件与第二事件是否匹配,包括:
3.根据权利要求2所述的单页面应用程序页面模糊测试方法,其特征在于,所述基于所述页面元素的元素属性和元素内容确定所述第一事件,包括:
4.根据权利要求3所述的单页面应用程序页面模糊测试方法,其特征在于,所述确定所述第一事件与所述第二事件是否匹配,包括:
5.根据权利要求1至4任一项所述的单页面应用程序页面模糊测试方法,其特征在于,所述通过触发所述第一事件与所述待测试页面进行交互,包括:
6.根据权利要求5所述的单页...
【专利技术属性】
技术研发人员:晁健康,张雪松,雷晓珩,王明鑫,
申请(专利权)人:远江盛邦北京网络安全科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。