簡體   English   中英

注入的JavaScript函數未執行

[英]Injected JavaScript function not executing

作為我要向客戶展示的XSS缺陷的一部分,我試圖注入一些JavaScript,

  1. 檢索網頁,
  2. 編輯該網頁的來源,並
  3. 使用新來源生成iframe。

這是我的代碼:

<script>

function getSource()

{
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
    {
         if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
              var content=xmlhttp.responseText;
              content = content.replace(/hey/gi, "howdy");
              var ifrm = document.getElementById('myIframe');
              ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;         
              ifrm.document.open();
              ifrm.document.write(content);
              ifrm.document.close();
             }            
    }
    xmlhttp.open("GET","http://www.site.com/pagetopull.html",true);
    xmlhttp.send();
}

</script>

<button onclick="getSource();">click</button>

<iframe id="myIframe"></iframe>

如果我將此代碼包裝在html標記中,然后將其放入自己的頁面並單擊,則代碼將完美執行,並且檢索到的頁面將顯示在iframe中。 但是,當我將此代碼注入到我的測試界面中時,iframe會出現,但是點擊並不會執行該功能並檢索所需的網頁。 我正在從同一域中檢索頁面,因此它沒有違反相同的來源策略(據我所知)。 誰能告訴我我在做什么錯? 非常感謝。

這是因為默認情況下,SCRIPT標記的內容將被忽略。 您必須遍歷SCRIPT對象的結果HTML數據的DOM樹,並手動eval其內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM