如果应用同源策略,Ajax 请求如何容易受到 CSRF 攻击?
信息安全
Web应用程序
攻击
csrf
阿贾克斯
同源策略
2021-09-03 05:29:16
1个回答
请求仍然可以发送,只是不读取:
- 通常允许跨域写入。示例是链接、重定向和表单提交 [原文如此]。
- 通常不允许跨域读取。
因此,只有响应的读取受到同源策略的保护,而不是请求本身的生成,尽管只有某些标头可以在没有 CORS 的情况下跨源使用。例如,仅允许以下标头:
- 接受
- 接受语言
- 内容-语言
- 最后事件 ID
- 内容类型
其他的,例如X-Requested-With是不允许的,因此可以检查自定义标头的存在,以验证请求不是跨源或来自非 AJAX 表单。
请注意,旧版本的 flash 包含一个漏洞,该漏洞允许设置通常受浏览器限制的标头,并且还有另一个漏洞crossdomain.xml
允许在没有有效允许请求的情况下进行跨域请求,因此基于令牌的方法可能仍然是防止CSRF最安全的方法。
其它你可能感兴趣的问题