クロスドメイン リクエスト用の iframe を使用して hta アプリケーションを作成しました。これは、独自のサーバーを起動してプロキシすることができないためです。
メイン ページに jQuery スクリプトと「被害者」サイトの iframe を挿入しました。たとえば、google.com です。
<iframe name="iframe" src="http://google.com" application="yes"></iframe>
ここで、そのiframeを介してAJAX POSTリクエストを実行する必要があります。コードは次のとおりです。
var frame = document.frames.iframe;
frame.$ = $
frame.$.ajax({
type : 'post'
url : 'http://google.com'
data : 'blablabla'
});
しかし、iframe で「No Transport」エラーが発生します。しかし、被害者のページでスクリプト要素を実行しているときは、すべて問題ありません。たとえば、次のようになります。
var frame = document.frames.iframe.document;
var el = frame.createEelement('SCRIPT');
el.src = "file://urlToJs.js";
frame.appendChild(el);
そして、この例ではすべて正常に動作しますが、私は仕事でインターネットを使用していません (私たちはローカル サイトで作業しています)...そして、ロードする別の js ファイルを作成したくありません。
助けてください!
私が試したこと:
- スクリプト要素のテキスト (document.scripts[0].innerHTML) を取得し、iframe 内のテキストを含むスクリプトを作成します [エラー]
- document.frames.iframes.$ = parent.$ [同じく動作しません、トランスポート エラーがありません]
jQuery ajaxは常にメインページを使用してリクエストを作成しているようですが、どうすれば修正できますか?