[英]Injected JavaScript function not executing
作為我要向客戶展示的XSS缺陷的一部分,我試圖注入一些JavaScript,
這是我的代碼:
<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.