gpt4 book ai didi

javascript - 是否可以快速连续地重新加载 iframe?

转载 作者:行者123 更新时间:2023-11-28 17:35:24 24 4
gpt4 key购买 nike

我目前正在开发一个项目,其中包括在不同浏览器中测试 XSS 有效负载。目标是查明有效负载是否仍在工作。我解决这个问题的方法是将每个有效负载加载到单独的或新的 iframe 中。由于我将测试大量有效负载,因此简单地为每个有效负载指定一个专用 iframe 似乎并不可行。因此我需要将有效负载依次加载到 iframe 中。

我尝试通过设置 iframe 的 src-Attribute 来重新加载 iframe,如下所示:

function testing_iframe2(iframe_id,payload)
{
//Does work one time, though not consecutively
document.getElementById(iframe_id).src = "data:text/html," + payload;
}

testing_iframe2("frame1",'<button onfocus="alert(1)" autofocus>');
testing_iframe2("frame1",'<svg/onload="alert(4)">');
<html>
<body>
<iframe id="frame1" class="frames"></iframe>
</body>
</html>

如您所见,仅执行第二个有效负载。

这是我的问题:

是否可以快速连续加载/重新加载/创建+删除 iframe?(当然,我们很乐意提供任何其他解决该问题的解决方案)

最佳答案

试试这个

var iframe = document.getElementById("iframe1");
var testes = [
'<svg onload="alert(1);" />',
'<svg onload="alert(2);" />'
];


iframe.onload = function(){
if(testes.length > 0){
iframe.src = "data:text/html," + testes.shift();
}
}

iframe.onload();
<iframe id="iframe1"></iframe>

关于javascript - 是否可以快速连续地重新加载 iframe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49262764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com