【无标题】

本文探讨如何通过理解JS循环中属性删除机制,设计策略避免有用属性被删除,从而在JavaScript环境中实现恶意事件属性触发弹窗。重点剖析了删除行为的不一致性,并提供了两种策略:保持必要属性和提前执行恶意属性。
摘要由CSDN通过智能技术生成

一个循环

首先下图中的js一次循环删除语句将我们插入的元素的属性进行了删除,那么我们的目的就是通过事件属性将下面的循环绕过,换个思路就是让它不要去remove有用的属性,通过两种方式来执行我们的恶意属性完成弹窗,两种方式分别是:(1)进循环不删除有用的属性(2)不进循环,在进循环前就执行了恶意属性

 要想实现让它删除无用的属性就要搞清楚它的删除过程,下面将演示一下这个删除中存在的问题(它删除了第一个获取的属性src但是为什么却没有删除后面的onerror属性呢?)以及如何通过这个问题去实现绕过然后执行事件属性弹窗的效果

结果为6 3 4  

因为将6删除后3会补到原来6的位置 接着循环从第二位4开始max是4删除4 下一位的1又会补上去 然后再次循环从第三位开始正好max是3 删除然后就没有值了

 

 两个循环的还没弄好

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值