当前位置:网站首页>循环绕过问题
循环绕过问题
2022-08-04 01:08:00 【莫尼热】
循环绕过问题
一,一个循环绕过
首先下图中的js一次循环删除语句将我们插入的元素的属性进行了删除,那么我们的目的就是通过事件属性将下面的循环绕过,换个思路就是让它不要remove掉有用的属性,通过两种方式来执行我们的恶意属性完成弹窗,两种方式分别是:
(1)进循环不删除有用的属性
(2)不进循环,在进循环前就执行了恶意属性
要想实现让它删除无用的属性就要搞清楚它的删除过程,下面将演示一下这个删除中存在的问题(它删除了第一个获取的属性src但是为什么却没有删除后面的onerror属性呢?)以及如何通过这个问题去实现绕过然后执行事件属性弹窗的效果
通过这个例子我们可以发现结果为:6,4,3
该循环过程为:
首先for循环从2开始循环整个数组,此时的max为6并将其删除,删除后3会自动补上6的空位,此时循环的指针会从4的位置开始遍历,此时的max为4,删除4后,后面的数都会自动补上去,因为此时for循环会从第三个位置开始,就不会从1开始而是从3开始循环,此时的max为3,并将其删除,因为后面没有值了,所以到此结束。
1.进循环不删除有用的属性
理解了循环删除的缺点后我们利用它来让恶意属性绕过删除,就可以达到我们的目的
img绕过

由此可见我们的代码成功绕过,页面没有删除恶意代码
details绕过
这里可以用details绕过是因为页面只删除了open属性
2.不进循环,在进循环前就执行了恶意属性
除了在标签内可以利用一次循环删除的缺点逃逸外还有这种利用svg标签来进行恶意弹窗效果
二,双循环绕过
这里的2次循环删除与一次不同之处在于通过第二次循环将属性都放入了一个新的数组进行删除,避免了恶意属性的逃逸,那么我们的目的就是通过两种方式来执行我们的恶意属性完成弹窗,两种方式分别是:
(1)进循环不删除有用的属性
(2)不进循环

这里可以看出之前的方式完全不行了,这里因为只要放入元素,它的所有属性都会被删除,所以我们就需要使用DOM破坏的方式使恶意属性进入循环中执行,也可以通过不进循环中执行,在循环开始前执行
1.进循环不删除有用的属性



2.不进循环
这里使用两个svg标签的原因是,它会在循环执行前就执行恶意属性,而使用一个svg时它直到循环执行后还都不会执行

直接执行了
一个svg不行,因为一个svg会进入循环被删除了属性,无法弹窗。前面加一个svg的原因是当没有svg闭合标签时就会触发下面的判断,如果你的svg不是最外侧的就会创建一个事件去执行它,所以这里要使后面的svg不是最外侧才会被执行
只要你的svg不是最外侧的它就会创建一个事件load去执行你的onload事件
边栏推荐
猜你喜欢

Modulo operation (MOD)

Deng Qinglin, Alibaba Cloud Technical Expert: Best Practices for Disaster Recovery across Availability Zones and Multiple Lives in Different Locations on the Cloud

七夕佳节即将来到,VR全景云游为你神助攻

数组_滑动窗口 | leecode刷题笔记

typescript56 - generic interface

Apache DolphinScheduler新一代分布式工作流任务调度平台实战-中

哎,又跟HR在小群吵了一架!

js中常用的几种遍历处理数据的方法梳理

新一代服务网关Gateway的实践笔记

nodejs+npm的安装与配置
随机推荐
How to copy baby from Taobao (or Tmall store) through API interface to Pinduoduo interface code docking tutorial
GeoAO:一种快速的环境光遮蔽方案
BGP实验(含MPLS)
typescript53 - generic constraints
Web3 安全风险令人生畏?应该如何应对?
typescript51-泛型的基本使用
KunlunBase 1.0 发布了!
jmeter分布式压测
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三:两次优化
dynamic memory two
VR全景拍摄线上展馆,3D全景带你沉浸体验
轻量级网络整理及其在Yolov5上的实现
电子制造企业部署WMS仓储管理系统的好处是什么
阿里云技术专家邓青琳:云上跨可用区容灾和异地多活最佳实践
字符串的排列
XSS - Bypass for loop filtering
OpenCV如何实现Sobel边缘检测
2022 China Computing Power Conference released the excellent results of "Innovation Pioneer"
The 600MHz band is here, will it be the new golden band?
GNSS文章汇总