使用FORM GET和IFRAME进行CSRF攻击

时间:2018-09-23 04:03:57

标签: javascript html forms csrf

我正在尝试使用以下代码查看网站是否容易受到CSRF攻击

<html>
<body>
<div>
<iframe width="0" height="0" border="0" name="dummyframe" id="dummyframe"></iframe>
<form action="TARGET_SITE" method="GET" id="get_site" target="dummyframe"></form>
<script>
document.getElementById("get_site").submit();
var e = document.getElementById("dummyframe");
if(e != null) {
   alert(e.contentWindow.document.body.innerHTML);
}
</script>
</div>
</body>
</html>

此处添加了iframe标记,以避免从Java脚本提交表单时页面重定向。提交表单时,我确实看到了HTML响应,其中包含一些我想访问的有趣信息。

但是我如何从iframe或form标签访问该HTML响应,示例中的警报窗口会弹出,但不会显示任何内容。

谢谢

1 个答案:

答案 0 :(得分:0)

如果您要做的只是获取外部页面的HTML并将其添加到<iframe>,则由于这个原因,您需要使用服务器端语言(NodeJS,PHP,Python) (感谢@Hannes):

  

由于相同的起源策略,所有常见的浏览器均不允许Javasript调用访问具有另一个(子)域的任何页面。解决该问题的唯一方法是在自己的服务器上设置某种“代理”(例如php脚本),该服务器在相同的域下运行,并从第三个来源获取所需的信息并打印出来。 / p>

来自here