一种漏洞前端功能点定位方法和系统技术方案

技术编号:31319751 阅读:13 留言:0更新日期:2021-12-13 00:03
本发明专利技术公开了一种漏洞前端功能点定位方法和系统,所述方法包括如下步骤:在web前端浏览器页面安装漏洞定位插件,所述漏洞定位插件监听用户浏览器点击事件、URL跳转事件、表单输入事件;记录上述事件所对应的value值和事件触发的坐标;获取用户操作记录和并生成或获取所述用户操作记录相关的截图,获取用户请求中的URL;将所述用户请求中的URL作为键名key,并将所述用户操作记录和用户操作记录相关截图作为键值value生成用于漏洞定位的键值对;将所述键值对发送给服务器分类存储,执行DAST或IAST漏洞检测,从服务器中定位到漏洞对应的用户操作和用户操作记录相关的截图。户操作和用户操作记录相关的截图。户操作和用户操作记录相关的截图。

【技术实现步骤摘要】
一种漏洞前端功能点定位方法和系统


[0001]本专利技术涉及网络漏洞检测
,特别涉及一种漏洞前端功能点定位方法和系统。

技术介绍

[0002]现有技术中,漏洞的检测有IAST(交互式应用安全测试)和DAST(动态应用安全测试,黑盒),上述漏洞检测方法可以自动化检测应用中的漏洞,但DAST和IAST一般只会上报漏洞的URL和数据流,对于前后端分离的应用,根据URL和数据流很难找到漏洞对应的前端功能点位置,造成漏洞复现困难,目前业界暂无此问题的解决方案。

技术实现思路

[0003]本专利技术其中一个专利技术目的在于提供一种漏洞前端功能点定位方法和系统,所述方法和系统基于浏览器漏洞定位插件实现对前端功能点的漏洞定位,所述漏洞定位插件可以实现前端漏洞的快速定位修复。
[0004]本专利技术另一个专利技术目的在于提供一种漏洞前端功能点定位方法和系统,所述方法和系统采用键值对的方式以对应用户请求URL作为键名,并将对应用户操作记录的截图作为键值生成键值对数据,传输到服务器进行查询,从而可以实现快速定位查询。
[0005]本专利技术另一个专利技术目的在于提供一种漏洞前端功能点定位方法和系统,所述方法和系统采用分类存储的方式,将持无需持久化存储的用户操作数据、截图、URL等数据保存于Redis数据库中,将对应的漏洞数据写入到mysql数据库中实现分类的持久化存储,从而一方面可以降低数据的存储压力,另一方面保障漏洞的持续监测。
[0006]为了实现至少一个上述专利技术目的,本专利技术进一步提供一种漏洞前端功能点定位方法,所述方法包括如下步骤:
[0007]在web前端浏览器页面安装漏洞定位插件,所述漏洞定位插件监听用户浏览器点击事件、URL跳转事件、表单输入事件;
[0008]记录上述事件所对应的value值和事件触发的坐标;
[0009]获取用户操作记录和并生成或获取所述用户操作记录相关的截图,获取用户请求中的URL;
[0010]将所述用户请求中的URL作为键名key,并将所述用户操作记录和用户操作记录相关截图作为键值value生成用于漏洞定位的键值对;
[0011]将所述键值对发送给服务器分类存储,执行DAST或IAST漏洞检测,从服务器中定位到漏洞对应的用户操作和用户操作记录相关的截图。
[0012]根据本专利技术其中一个较佳实施例,在完成所述键值对key

value的构建后,生成所述键值对key

value的map,并将所述map序列化为json格式的字符串发送给服务器。
[0013]根据本专利技术另一个较佳实施例,所述服务器在获取所述json格式的字符串后,将所述json格式的字符串进行反序列化解析,获取解析还原后的键值对key

value的map,并
将所述键值对key

value的map保存于Redis数据库中。
[0014]根据本专利技术另一个较佳实施例,执行所述DAST或IAST漏洞检测后,获取漏洞对应的URL,并根据URL对应的key查询定位保存的用户操作记录和用户操作记录相关的截图。
[0015]根据本专利技术另一个较佳实施例,当完成漏洞检测定位前端功能点后,将检测到的漏洞所对应的用户操作和用户操作记录相关的截图写入到mysql数据库中进行持久化存储。
[0016]根据本专利技术另一个较佳实施例,完成漏洞检测定位前端功能点后,将所述用户操作和用户操作记录相关的截图传输到web前端页面进行可视化显示。
[0017]根据本专利技术另一个较佳实施例,所述用户请求中URL的获取方法包括:在html加载时,在js中通过hook将ajax替换XMLHttpRequest.prototype.open函数,并通过hook将fetch替换window.fetch函数,捕获用户请求后解析获取的用户请求数据中的URL。
[0018]根据本专利技术另一个较佳实施例,所述用户操作记录相关截图的生成方法包括:
[0019]当用户执行操作时,所述漏洞定位插件获取用户操作事件;
[0020]采用html2canvas框架对整个body生成canvas元素;
[0021]获取用户的点击坐标,根据所述点击坐标在canvas元素对应点击位置进行标记;
[0022]根据标记结果生成对应的截图。
[0023]为了实现至少一个上述目的,本专利技术进一步提供一种漏洞前端功能点定位系统,所述系统执行上述一种漏洞前端功能点定位方法。
[0024]本专利技术进一步提供一种计算可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序可被处理器执行上述一种漏洞前端功能点定位方法。
附图说明
[0025]图1显示的是本专利技术一种漏洞前端功能点定位方法的流程示意图。
具体实施方式
[0026]以下描述用于揭露本专利技术以使本领域技术人员能够实现本专利技术。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本专利技术的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本专利技术的精神和范围的其他技术方案。
[0027]可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0028]请参考图1显示的本专利技术一种漏洞前端功能点定位方法的流程示意图,所述方法包括如下步骤:首先需要监听用户操作行为,所述用户操作行为包括但不仅限于浏览器点击事件、URL跳转事件、表单输入事件。本专利技术中采用漏洞定位插件仅限上述事件的监听,需要说明的是,本专利技术所述的漏洞定位插件安装于web前端的浏览器中,并支持包括Chrome、Firefox、Edge等主流浏览器的插件。所述漏洞定位插件在监听用户操作行为后,获取用户操作行为对应请求中的URL,以及获取用户操作行为和生成并获取用户操作行为相关的截图,进一步将上述请求中的URL作为键名key,并将上述用户操作行为和用户操作行为相关
的截图作为键值vaule,生成键值对key

vaule数据,所述键值对key

vaule数据保存于服务器,通过查询所述键值对的key可以定位到对应的用户操作行为和用户操作行为相关的截图,在检测到漏洞时可以实现漏洞所对应的前端浏览器所对应的功能点。
[0029]具体的,所述漏洞定位插件通过jquery插件实时监听前端用户浏览器的浏览器点击事件、URL跳转事件、表单输入事件的用户操作行为,并记录所述用户操作行为对应事件的value值,以及触发事件的坐标位置。在所述前端用户浏览器根据用户操作生成用户操作请求数据,所述漏洞定位插件捕获所述用户操作请求数据,并解析所述用户操作请求数据中的URL。其中所述用户操作请求数据的捕获方法包括如下步骤:
[0030]在html加载本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种漏洞前端功能点定位方法,其特征在于,所述方法包括如下步骤:在web前端浏览器页面安装漏洞定位插件,所述漏洞定位插件监听用户浏览器点击事件、URL跳转事件、表单输入事件;记录上述事件所对应的value值和事件触发的坐标;获取用户操作记录和并生成或获取所述用户操作记录相关的截图,获取用户请求中的URL;将所述用户请求中的URL作为键名key,并将所述用户操作记录和用户操作记录相关截图作为键值value生成用于漏洞定位的键值对;将所述键值对发送给服务器分类存储,执行DAST或IAST漏洞检测,从服务器中定位到漏洞对应的用户操作和用户操作记录相关的截图。2.根据权利要求1所述的一种漏洞前端功能点定位方法,其特征在于,在完成所述键值对key

value的构建后,生成所述键值对key

value的map,并将所述map序列化为json格式的字符串发送给服务器。3.根据权利要求2所述的一种漏洞前端功能点定位方法,其特征在于,所述服务器在获取所述json格式的字符串后,将所述json格式的字符串进行反序列化解析,获取解析还原后的键值对key

value的map,并将所述键值对key

value的map保存于Redis数据库中。4.根据权利要求1所述的一种漏洞前端功能点定位方法,其特征在于,执行所述DAST或IAST漏洞检测后,获取漏洞对应的URL,并根据URL对应的key查询定位保存的用户操作记录和用户操作记录相关的截图。5.根据权利要求...

【专利技术属性】
技术研发人员:陈路
申请(专利权)人:杭州默安科技有限公司
类型:发明
国别省市:

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

1