我已经为跨域请求创建了带有 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 给了我“无传输”错误。但是当我在受害者页面上做脚本元素时,一切都很好,例如:
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 总是使用主页来创建请求,我该如何解决?