- 漏洞检测:抓取一个正常请求的数据包,去掉 Referer 字段后再重新提交,如果该提交还有效,那么基本上可以确定存在 CSRF 漏洞。进行检测的工具:CSRFTester,CSRF Request Builder。
- 漏洞防御:服务端(检测 referer,添加并检测 token,在 HTTP 头中自定义属性并验证,验证码),客户端(安全软件保护,升级,访问敏感网站清除记录),安全设备的防御(基于硬件层面对HTTP头部的Referer字段内容进行检查来快速准确的识别 CSRF 攻击)。
- 与CSRF有关的主要Web安全策略:同源策略,Cookie 安全策略和 Flash 安全策略。
- 因为 CSRF 攻击是由于某些请求被发出,而引起在服务器端执行了某些动作所引起的,所以同源策略无法防止 CSRF 攻击。
- CSRF 与 XSS 比较:XSS 攻击需要借助脚本语言,CSRF 攻击则未必需要脚本语言:XSS 需要受害站点接受用户输人来保存恶意代码。而 CSRF 攻击可能从第三方网站发起;**XSS 产生的主要原因是对用户输入没有正确过滤.CSRF 产生的主要原因是采用了隐式的认证方式。**如果一个网站存在 XSS 漏洞。那么它很大可能也存在 CSRF 漏洞。即使一个网站能够完美地坊御 XSS 漏洞,却未必能够防御 CSRF。一个攻击可能即是 XSS 攻击又是 CSRF 攻击。
文章作者
Herbert Lu
上次更新
2017-07-23
许可协议
CC BY-NC-ND 4.0