动态脚本攻击拦截方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:34952466 阅读:16 留言:0更新日期:2022-09-17 12:29
本申请的实施例提供了一种动态脚本攻击拦截方法、装置、电子设备及可读存储介质,涉及计算机技术领域。该方法包括:在检测到通过目标方法为创建的第一目标待插入标签动态设置属性时,获取第一目标待插入标签的第一目标属性值,目标方法包括Document.write方法,第一目标待插入标签为待插入已完成渲染的当前网站页面的目标类型的标签;根据第一目标属性值,判断第一目标待插入标签是否合法;在确定第一目标待插入标签不合法的情况下,对第一目标待插入标签进行拦截。如此,至少可以避免一部分动态脚本通过Document.write方法注入到页面中,从而提高安全性。从而提高安全性。从而提高安全性。

【技术实现步骤摘要】
动态脚本攻击拦截方法、装置、电子设备及可读存储介质


[0001]本申请涉及计算机
,具体而言,涉及一种动态脚本攻击拦截方法、装置、电子设备及可读存储介质。

技术介绍

[0002]XSS跨站脚本注入攻击通常为:攻击者或者运营商会向页面中注入一个<script>脚本,具体攻击操作都在脚本中实现。当前是通过MutationObserver API监听Web页面有没有script标签动态生成,在有的情况下,拦截该动态生成的script标签,并将该script标签上报系统以判断是否为恶意注入的script,若是则使用removeChild()删除。
[0003]然而,除了静态脚本,XSS还包含通过javaScript动态生成的脚本。针对这种动态脚本,虽然可以使用MutationObserver观察到脚本生成,但是MutationObserver方法仅能在观察到DOM(Document Object Model,文档对象模型)变化后才会执行,也就是说当页面插入动态脚本后才会执行此方法,但此时的脚本已经注入了执行了一次,所以无法在脚本执行之前使用removeChild将其移除,注入的恶意脚本还是会生成,对业务安全有极大对风险性。

技术实现思路

[0004]本申请实施例提供了一种动态脚本攻击拦截方法、装置、电子设备及可读存储介质,其能够避免一些动态脚本的攻击,以提高安全性。
[0005]本申请的实施例可以这样实现:
[0006]第一方面,本申请实施例提供一种动态脚本攻击拦截方法,所述动态脚本攻击拦截方法包括:
[0007]在检测到通过目标方法为创建的第一目标待插入标签动态设置属性时,获取所述第一目标待插入标签的第一目标属性值,其中,所述目标方法包括Document.write方法,所述第一目标待插入标签为待插入已完成渲染的当前网站页面的目标类型的标签;
[0008]根据所述第一目标属性值,判断所述第一目标待插入标签是否合法;
[0009]在确定所述第一目标待插入标签不合法的情况下,对所述第一目标待插入标签进行拦截。
[0010]第二方面,本申请实施例提供一种动态脚本攻击拦截装置,所述装置包括:
[0011]属性获得模块,用于在检测到通过目标方法为创建的第一目标待插入标签动态设置属性时,获取所述第一目标待插入标签的第一目标属性值,其中,所述目标方法包括Document.write方法,所述第一目标待插入标签为待插入已完成渲染的当前网站页面的目标类型的标签;
[0012]判断模块,用于根据所述第一目标属性值,判断所述第一目标待插入标签是否合法;
[0013]处理模块,用于在确定所述第一目标待插入标签不合法的情况下,对所述第一目
标待插入标签进行拦截。
[0014]第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的动态脚本攻击拦截方法。
[0015]第四方面,本申请实施例提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式所述的动态脚本攻击拦截方法。
[0016]本申请实施例提供的动态脚本攻击拦截方法、装置、电子设备及可读存储介质,在检测到通过目标方法为动态创建的第一目标待插入标签动态设置属性时,获取该第一目标待插入标签的第一目标属性值,进而基于该第一目标属性值判断该第一目标待插入标签是否合法,在不合法的情况下对该第一目标待插入标签进行拦截。其中,目标方法包括Document.write方法,第一目标待插入标签为待插入已完成渲染的当前网站页面的目标类型的标签。如此,至少可以避免一部分动态脚本通过Document.write方法注入到页面中,从而提高安全性。
附图说明
[0017]为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0018]图1为本申请实施例提供的电子设备的方框示意图;
[0019]图2为本申请实施例提供的动态脚本攻击拦截方法的流程示意图之一;
[0020]图3为本申请实施例提供的动态脚本攻击拦截方法的流程示意图之二;
[0021]图4为本申请实施例提供的动态脚本攻击拦截装置的方框示意图之一;
[0022]图5为本申请实施例提供的动态脚本攻击拦截装置的方框示意图之二。
[0023]图标:100

电子设备;110

存储器;120

处理器;130

通信单元;200

动态脚本攻击拦截装置;210

属性获得模块;220

判断模块;230

处理模块;240

修改模块。
具体实施方式
[0024]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0025]因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且
还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0027]下面首先对本申请实施例中涉及到的一些概念进行解释说明。
[0028]JavaScript:是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
[0029]xss跨站脚本:XSS指的是攻击者漏洞,攻击者向Web页面中注入恶意代码,当用户浏览该页之时,注入的代码会被执行,从而达到攻击的特殊目的。
[0030]动态脚本:指页面中那些本来不存在,但是随着代码的执行插入页面本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态脚本攻击拦截方法,其特征在于,所述动态脚本攻击拦截方法包括:在检测到通过目标方法为创建的第一目标待插入标签动态设置属性时,获取所述第一目标待插入标签的第一目标属性值,其中,所述目标方法包括Document.write方法,所述第一目标待插入标签为待插入已完成渲染的当前网站页面的目标类型的标签;根据所述第一目标属性值,判断所述第一目标待插入标签是否合法;在确定所述第一目标待插入标签不合法的情况下,对所述第一目标待插入标签进行拦截。2.根据权利要求1所述的动态脚本攻击拦截方法,其特征在于,所述目标方法还包括所述当前网站页面的第一setAttribute方法,所述第一setAttribute方法为经对所述当前网站页面的原setAttribute方法进行修改后得到的方法,通过所述第一setAttribute方法或Document.write方法实现拦截。3.根据权利要求1或2所述的动态脚本攻击拦截方法,其特征在于,所述动态脚本攻击拦截方法还包括:在检测到动态创建了待插入所述当前网站页面的iframe标签时,修改该iframe标签对应的子页面的原setAttribute方法,其中,修改后得到的Attribute方法在为创建的第二目标待插入标签动态设置属性时,根据所述第二目标待插入标签是否合法,确定是否对所述第二目标待插入标签进行拦截,所述第二目标待插入标签为待插入所述子页面的所述目标类型的标签。4.根据权利要求3所述的动态脚本攻击拦截方法,其特征在于,所述iframe标签通过Document.write方法或createElement方法创建。5.根据权利要求3所述的动态脚本攻击拦截方法,其特征在于,所述目标类型包括script类型,所述目标属性值包括script标签的引用地址,判断目标待插入标签是否合法的步骤包括:检测所述引用地址是否在预设地址集内,得到检测结果,其中...

【专利技术属性】
技术研发人员:吴家齐
申请(专利权)人:北京知道创宇信息技术股份有限公司
类型:发明
国别省市:

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

1