1 关于CSRF
跨站请求伪造,(Cross-site request forgery)。是一种对网站的恶意利用。
CSRF作为一种跨网站的攻击方式,不同于XSS站内攻击。CSRF是通过伪装成受信任的用户请求受信任的网站。
CSRF攻击的原理:攻击者利用目标用户的身份,以目标用户的名义执行某些非法的操作。CSRF能做的事情包括:以目标用户的名义发送邮件、发消息、盗取目标用户的账号,甚至购买商品、虚拟货币转账,会泄露个人隐私并威胁到目标用户的财产安全。
2 CSRF修复建议
● 验证请求的Referer值,如果Referer是以自己的网站开头的域名,则说明该请求来自网站自己,是合法的。如果Referer是其他网站域名或空白,就有可能是CSRF攻击,那么服务器应拒绝该请求,但是此方法存在被绕过的可能。
● CSRF攻击之所以能够成功,是因为攻击者可以伪造用户的请求,由此,抵御CSRF攻击的关键在于:在请求中放入攻击者不能伪造的信息。例如可以在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端验证token,如果请求中没有token或者token的内容不正确,则认为该请求可能是CSRF攻击从而拒绝该请求。