CSRF使用AJAX。为什么可能?

问题描述 投票:1回答:1

复制步骤:

  1. 转到https://stackoverflow.com/
  2. 在网络浏览器中打开开发人员控制台
  3. 执行以下JS代码:

    fetch(`https://webhook.site/5a6f8001-3646-4b3e-bd76-a4562af5a9ef`, { credentials: 'include' })
    
  4. 转到https://webhook.site/#!/5a6f8001-3646-4b3e-bd76-a4562af5a9ef

您应该在https://webhook.site上看到HTTP请求

为什么HTTP请求到达服务器?这是否违反《同源政策》?

ajax security csrf same-origin-policy websecurity
1个回答
0
投票

首先,请勿混合使用SOP,CORS和CSRF。

  1. SOP(同源策略)检查”由浏览器执行,并有助于从您的来源中<从“其他”来源访问的资源。如果需要允许他们read您的内容得到许可,则需要定义规则以扩展到称为CORS

    的限制。
  2. CSRF(跨站点请求伪造)是一种攻击,它有助于通过受害者的cookie创建或发送恶意的无效请求。使用受害者的Cookie到达目标来源后的每个请求都将通过该用户的许可执行。因此,攻击者不会读取响应。另外,由于

    Same Origin Policy

  3. 规则,您不能读取响应,除非它们不允许使用CORS规则来读取其内容。]
© www.soinside.com 2019 - 2024. All rights reserved.