一, CSRF 是什么
CSRF, 全称: Corss-site request forgery, 中文名称: 跨站请求伪造. CSRF 攻击比 XSS 攻击更具危险性, 被安全界称为 "沉睡的巨人".
二, CSRF 可以做什么
攻击者通过一定手段盗取合法用户在某个网站上的登录信息, 然后以该合法用户的身份模拟发送各种请求.
三, CSRF 的原理
(图片来自:)
要完成一次 CSRF 攻击, 受害者必须依次完成两个步骤:
1. 登录受信任网站 A, 并在本地生成 cookie.
2. 在不退出网站 A 的情况下, 访问危险网站 B.
CSRF 攻击主要是因为 web 的隐式身份验证机制, Web 的身份验证机制虽然可以保证一个请求是来自某个用户的浏览器, 但却无法保证该请求是用户批准发送的.
四, CSRF 的防御
1. 正确使用 GET,POST 和 Cookie 请求方法, 严格规定什么请求只能使用 GET 方法, 什么请求只能使用 POST 方法, 这样可以防止攻击者使用 GET 请求来模拟 POST 请求, 从而轻易达到攻击目的.
2. 在非 GET 请求中, 不同的表单包含一个不同的伪随机数, 作为 token 去请求后端.
来源: http://www.bubuko.com/infodetail-3323095.html