是否可以在CORS之前进行CSRF攻击?

时间:2018-08-09 11:25:14

标签: http security cors

我查看了this堆栈溢出答案,以了解有关CORS飞行前请求的信息。根据此答案,可以在不存在CORS时进行CSRF攻击。

  

但是要注意对“简单”请求的要求   需要预检,我看到仍然允许POST。那可以改变   像删除一样声明和删除数据!

     

是真的! CORS不能保护您的站点免受CSRF攻击。然后   同样,没有CORS,您也不会受到CSRF攻击的保护。的   飞行前请求的目的仅仅是为了限制您的CSRF暴露于   在CORS之前的世界中已经存在的东西。

但是,如果浏览器遵循Same Origin Policy,我想不出如何进行CSRF攻击的方法。如果恶意站点试图访问另一个站点,则浏览器将简单地阻止它,因为请求的来源是不同的。

如果不存在CORS,有人可以解释一下CSRF攻击是怎么可能的吗?

1 个答案:

答案 0 :(得分:1)

起源类似于AJAX请求,但这并不是触发CSRF攻击的唯一方法。

例如:

<form id="evilForm" method="post" action="http://example.com/delete_user.php">
    <input type="hidden" name="user_id" value="12345">
</form>

<script>
document.getElementById('evilForm').submit();
</script>