Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AJAX的CSRF。为什么可能? 复制步骤: 去 在web浏览器中打开开发人员控制台_Ajax_Security_Csrf_Same Origin Policy_Websecurity - Fatal编程技术网

使用AJAX的CSRF。为什么可能? 复制步骤: 去 在web浏览器中打开开发人员控制台

使用AJAX的CSRF。为什么可能? 复制步骤: 去 在web浏览器中打开开发人员控制台,ajax,security,csrf,same-origin-policy,websecurity,Ajax,Security,Csrf,Same Origin Policy,Websecurity,执行以下JS代码: fetch(`https://webhook.site/5a6f8001-3646-4b3e-bd76-a4562af5a9ef`, { credentials: 'include' }) 去 您应该可以在上看到HTTP请求 为什么HTTP请求到达服务器? 这是否违反了同一原产地政策?首先,不要将SOP、CORS和CSRF混用 SOP(同一原产地政策)检查由浏览器执行,有助于保护您的原产地中从其他“原产地”访问的资源。如果他们需要获得阅读您的内容的权限,您需要定义扩展到名

执行以下JS代码:

fetch(`https://webhook.site/5a6f8001-3646-4b3e-bd76-a4562af5a9ef`, { credentials: 'include' })
  • 您应该可以在上看到HTTP请求

    为什么HTTP请求到达服务器?
    这是否违反了同一原产地政策?

    首先,不要将SOP、CORS和CSRF混用

  • SOP(同一原产地政策)检查由浏览器执行,有助于保护您的原产地中从其他“原产地”访问的资源。如果他们需要获得阅读您的内容的权限,您需要定义扩展到名为CORS的限制的规则

  • CSRF(跨站点请求伪造)是一种通过受害者的cookie帮助创建或发送恶意无效请求的攻击。每个请求在到达目标源站后都会使用受害者的cookie,该cookie将通过该用户的权限执行。因此,攻击者不会读取响应。此外,由于同源策略规则,您无法读取响应,除非它们不允许使用CORS规则对其内容进行读取


  • 你是说CORS而不是CSRF?当Cookie被用作身份验证机制时,CSRF更能起到保护作用。如果你真的是指CORS,我想
    webhook.site
    只允许任何来源?请参阅。@sp00m不,我是说CSRF攻击。当我尝试您的代码片段供参考时,我确实有CORS阻止了我的请求,origin
    https://stackoverflow.com
    不允许。@sp00m现在检查一下。你看到你的请求了吗?有趣的是,虽然浏览器因为CORS取消了请求,但请求似乎确实到达了服务器。我本以为请求甚至不会到达服务器。令人惊讶的是,我将等待更聪明的大脑来回答这个问题:)