Iframe代码在注入时未执行

Iframe code not executing when injected

本文关键字:执行 注入 代码 Iframe      更新时间:2023-09-26

我一直在尝试在我正在进行的一些XSS研究中使用此代码。我希望在一个易受攻击的页面上生成一个iframe,其中包含我选择的文本。如果我把下面的代码放在html标记中并浏览到它,那么iframe就会像预期的那样与文本一起创建。然而,如果我试图将代码注入到我的测试表面(该死的易受攻击的web应用程序)中,则会生成iframe窗口,但不会生成任何文本。有人能告诉我这里发生了什么吗?如果有办法解决的话?

<script type="text/javascript">
    function populateIframe() {
        var ifrm = document.getElementById('myIframe');
        ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
        ifrm.document.open();
        ifrm.document.write("hello world!");
        ifrm.document.close();
    }
</script>
<body onload="populateIframe();">
<iframe id="myIframe"></iframe>

谢谢!

尝试关闭<script>标记


如果这没有帮助,可能没有调用populateIframe()

在不完全了解您的情况的情况下,我敢打赌,易受攻击的页面已经有一个<body>元素干扰了您想要加载的第二个页面。。不确切地确定当存在2个CCD_ 4标签时会发生什么。如果是这种情况,您可以删除额外的body标签,并将iframe替换为:

<iframe id="myIframe" onload="populateIframe();"></iframe>

然后,当iframe被添加到DOM时,您的JS将被调用。