JS脚本文件漏洞检测方法及系统技术方案

技术编号:26259555 阅读:11 留言:0更新日期:2020-11-06 17:54
本发明专利技术提供了一种JS脚本文件漏洞检测方法及系统,该方法应用jsrepository.json文件建立第一漏洞库,扫描并解析JS脚本文件,获取漏洞匹配信息;根据漏洞匹配信息,在第一漏洞库中进行漏洞匹配,生成第二漏洞库;获取JS脚本文件的路径;调用JS脚本文件的路径与统一资源标识符信息进行匹配;确认JS脚本文件的路径与统一资源标识符信息匹配成功;将sha1编码哈希值添加至第二漏洞库,生成更新后的第二漏洞库;计算JS脚本文件的sha1编码哈希值;应用JS脚本文件的sha1编码哈希值与第二漏洞库进行匹配,生成第三漏洞库。由此,由于JS脚本文件的路径所含信息较多,应用路径来确定JS脚本文件的具体身份较为准确,且速度较快,保障漏洞审核的效率及效果。

【技术实现步骤摘要】
JS脚本文件漏洞检测方法及系统
本专利技术涉及一种漏洞检测技术,尤其是指一种JS脚本文件漏洞检测方法及系统。
技术介绍
如今开发人员广泛使用开源组件,据估计,每个应用程序的80%-90%都由开源组件组成。有研究显示,软件应用程序中使用的第三方组件中有一半已经过时,可能不安全。而且使用开源组件的所有应用程序中,超过60%包含已知的软件漏洞。那么分析每个开源组件的CVE,将会给项目的组成分析(SCA)提供有效的信息支持。而目前市场上还没有相关成熟的技术和产品。因此为解决这一问题,一般都会采用人工的方式寻找一个个漏洞,再根据漏洞的描述去相关的产品官网来找寻相关的信息,然后确定该JS开源组件的漏洞。然而,应用人工的方式审查漏洞,工作量大,效率低下。
技术实现思路
本专利技术所要解决的技术问题是:提供一种JS脚本文件漏洞检测方法及系统,以此快速、高效的检测JS脚本文件的漏洞。为了解决上述技术问题,本专利技术采用的技术方案为:一种JS脚本文件漏洞检测方法,包括如下步骤:应用jsrepository.json文件建立第一漏洞库,其中,所述第一漏洞库包括sha1编码哈希值及统一资源标识符信息;扫描并解析JS脚本文件,获取漏洞匹配信息;根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库;计算所述JS脚本文件的sha1编码哈希值;应用所述JS脚本文件的sha1编码哈希值与所述第二漏洞库进行匹配,生成第三漏洞库;其中,所述根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库的步骤中,还包括:获取所述JS脚本文件的路径;调用所述JS脚本文件的路径与所述统一资源标识符信息进行匹配;确认所述JS脚本文件的路径与所述统一资源标识符信息匹配成功;将所述sha1编码哈希值添加至所述第二漏洞库,生成更新后的第二漏洞库;其中,所述sha1编码哈希值是所述JS脚本文件通过哈希算法算出的。进一步地,所述第一漏洞库包括文件名信息,当所述JS脚本文件的路径与所述统一资源标识符信息匹配失败后,所述方法还包括如下步骤:获取所述JS脚本文件名;调用所述JS脚本文件名与所述文件名信息进行匹配;确认所述JS脚本文件名与所述文件名信息匹配成功。具体的,所述第一漏洞库包括hashes信息,所述JS脚本文件名与所述文件名信息匹配失败后,还包括如下步骤:获取JS脚本文件的sha1编码哈希值;调用所述JS脚本文件的sha1编码哈希值与所述hashes信息进行匹配;确认所述JS脚本文件的sha1编码哈希值与所述hashes信息相匹配。进一步地,第一漏洞库包括漏洞库内容信息,所述JS脚本文件名与所述文件名信息匹配失败后,还包括如下步骤:获取所述JS脚本文件的内容;调用所述JS脚本文件的内容与所述漏洞库内容信息进行匹配;确认所述JS脚本文件的内容与所述漏洞库内容信息相匹配;其中,所述JS脚本文件的内容为所述JS脚本文件的内容的前50个字段。进一步地,所述应用所述根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库的步骤之后,包括如下步骤:获取JS脚本文件版本信息;获取CVE信息,以搜集CPE信息;针对所述JS脚本文件版本信息与CPE信息进行匹配,生成匹配数据;添加所述匹配数据至所述第二漏洞库,生成第四漏洞库。进一步地,所述添加所述匹配数据至所述第二漏洞库,生成第四漏洞库的步骤之后,还包括如下步骤:从所述JS脚本文件版本信息中,提取JS脚本文件名;确认所述JS脚本文件名与所述CPE信息在所述第四漏洞库内一一对应。进一步地,所述JS脚本文件版本信息包括JS脚本文件名及第一版本信息,所述CPE信息包括项目名及第二版本信息,所述针对所述JS脚本文件版本信息与CPE信息进行匹配,生成第一匹配数据的步骤中,具体包括如下步骤:确认所述JS脚本文件名与所述项目名匹配成功;确认所述第一版本信息与所述第二版本信息匹配成功;生成所述第一匹配数据;其中,所述第一匹配数据包括组件名、sha1编码哈希值、cve编号、cpe编号、第一版本信息、第二版本信息中的至少一项。本申请第二方面提供一种JS脚本文件漏洞检测系统,包括如下模块:获取模块,用于应用jsrepository.json文件建立第一漏洞库;解析模块,用于扫描并解析JS脚本文件,获取漏洞匹配信息;检测生成模块,用于根据漏洞匹配信息,从所述第一漏洞库中抽取漏洞匹配信息,生成第二漏洞库;还用于获取所述JS脚本文件的路径;调用所述JS脚本文件的路径与所述统一资源标识符信息进行匹配;确认所述JS脚本文件的路径与所述统一资源标识符信息匹配成功;将所述sha1编码哈希值添加至所述第二漏洞库,生成更新后的第二漏洞库;还用于计算所述JS脚本文件的sha1编码哈希值;应用所述JS脚本文件的sha1编码哈希值与所述第二漏洞库进行匹配,生成第三漏洞库。本专利技术的有益效果在于:应用jsrepository.json文件建立第一漏洞库,其包括常用的JS脚本文件的漏洞信息及漏洞匹配信息。扫描并解析JS脚本文件,可以获得针对JS脚本文件的漏洞匹配信息,根据该漏洞匹配信息来对第一漏洞库内的漏洞信息进行匹配,并以此生成第二漏洞库。由此,可以较为准确地直接获取JS脚本文件的漏洞信息,保障漏洞审核的效率及效果。由于JS脚本文件的路径所含信息较多,应用路径来确定JS脚本文件的具体身份较为准确,且速度较快。附图说明下面结合附图详述本专利技术的具体结构图1为本专利技术第一实施例中JS脚本文件漏洞检测方法的步骤流程图;图2为本专利技术第二实施例中获取漏洞匹配信息的步骤流程示意图;图3为本专利技术第二实施例中应用JS脚本文件名与文件名信息匹配的步骤流程示意图;图4为本专利技术第三实施例中应用JS脚本文件的sha1编码哈希值与hashes信息相匹配匹配的步骤流程示意图;图5为本专利技术第四实施例中应用JS脚本文件的内容与漏洞库内容信息相匹配匹配的步骤流程示意图;图6为本专利技术第五实施例中生成第三漏洞库的流程图;图7为本专利技术第六实施例中生成第四漏洞库的流程图;图8为本专利技术第四实施例中的组件版本库的示意图;图9为本专利技术第四实施例中的CVE信息的示意图;图10为本专利技术第四实施例中的CPE信息的示意图;图11为本专利技术第七实施例中的针对JS脚本文件版本信息与CPE信息进行匹配,生成匹配数据的流程图;图12为本专利技术第八实施例中的去除重复漏洞的流程图;图13为本专利技术第八实施例中被审核的漏洞表格;图14为本专利技术第一实施例中JS脚本文件漏洞检测系统的结构图。具体实施方式为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配本文档来自技高网
...

【技术保护点】
1.一种JS脚本文件漏洞检测方法,包括如下步骤:/n应用jsrepository.json文件建立第一漏洞库,其中,所述第一漏洞库包括sha1编码哈希值及统一资源标识符信息;/n扫描并解析JS脚本文件,获取漏洞匹配信息;/n根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库;/n计算所述JS脚本文件的sha1编码哈希值;/n应用所述JS脚本文件的sha1编码哈希值与所述第二漏洞库进行匹配,生成第三漏洞库;/n其中,所述根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库的步骤中,还包括:/n获取所述JS脚本文件的路径;/n调用所述JS脚本文件的路径与所述统一资源标识符信息进行匹配;/n确认所述JS脚本文件的路径与所述统一资源标识符信息匹配成功;/n将所述sha1编码哈希值添加至所述第二漏洞库,生成更新后的第二漏洞库;/n其中,所述sha1编码哈希值是所述JS脚本文件通过哈希算法算出的。/n

【技术特征摘要】
1.一种JS脚本文件漏洞检测方法,包括如下步骤:
应用jsrepository.json文件建立第一漏洞库,其中,所述第一漏洞库包括sha1编码哈希值及统一资源标识符信息;
扫描并解析JS脚本文件,获取漏洞匹配信息;
根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库;
计算所述JS脚本文件的sha1编码哈希值;
应用所述JS脚本文件的sha1编码哈希值与所述第二漏洞库进行匹配,生成第三漏洞库;
其中,所述根据漏洞匹配信息,在所述第一漏洞库中进行漏洞匹配,生成第二漏洞库的步骤中,还包括:
获取所述JS脚本文件的路径;
调用所述JS脚本文件的路径与所述统一资源标识符信息进行匹配;
确认所述JS脚本文件的路径与所述统一资源标识符信息匹配成功;
将所述sha1编码哈希值添加至所述第二漏洞库,生成更新后的第二漏洞库;
其中,所述sha1编码哈希值是所述JS脚本文件通过哈希算法算出的。


2.如权利要求1所述的JS脚本文件漏洞检测方法,其特征在于,所述第一漏洞库包括文件名信息,当所述JS脚本文件的路径与所述统一资源标识符信息匹配失败后,所述方法还包括如下步骤:
获取所述JS脚本文件名;
调用所述JS脚本文件名与所述文件名信息进行匹配;
确认所述JS脚本文件名与所述文件名信息匹配成功。


3.如权利要求2所述的JS脚本文件漏洞检测方法,其特征在于,所述第一漏洞库包括hashes信息,所述JS脚本文件名与所述文件名信息匹配失败后,还包括如下步骤:
获取JS脚本文件的sha1编码哈希值;
调用所述JS脚本文件的sha1编码哈希值与所述hashes信息进行匹配;
确认所述JS脚本文件的sha1编码哈希值与所述hashes信息相匹配。


4.如权利要求3所述的JS脚本文件漏洞检测方法,其特征在于,第一漏洞库包括漏洞库内容信息,所述JS脚本文件名与所述文件名信息匹配失败后,还包括如下步骤:
获取所述JS脚本文件的内容;
调用所述JS脚本文件的内容与所述漏洞库内容信息进行匹配;
确认所述JS脚本文件的内容与所述漏洞库内容信息相匹配;
其中,所述JS脚本...

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

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

1