CSRF的攻击和保护

CSRF全拼为: Cross Site Request Forgery 跨站请求伪造
CSRF指攻击者盗用了你的身份,以你的名义发出恶意请求。

CSRF攻击示意图:

	1. 用户浏览并登陆了正常网站A。
	2.通过用户登录验证,同时在用户处产生了A的Cookie。
	3.用户在没有登出的情况下访问了攻击网站B。
	4.B要求访问第三方站点A,发出了一个请求。
	5.根据B在(4)的请求,浏览器带着2的cookie访问A。
	6.A在不知道(5)中的请求是谁发出的,浏览器会自动带上用户C的cookie,然后去处理这个请求,同时B就达到了模拟用户操作的目的。

防止CSRF攻击

1.在客户端向后端请求界面数据的时候,后端会往响应中的 cookie 中设置 csrf_token 的值
2.在 Form 表单中添加一个隐藏的的字段,值也是 csrf_token
3.在用户点击提交的时候,会带上这两个值向后台发起请求
4.后端接受到请求,以会以下几件事件:
从 cookie中取出 csrf_token
从 表单数据中取出来隐藏的 csrf_token 的值
进行对比
5.如果比较之后两值一样,那么代表是正常的请求,如果没取到或者比较不一样,代表不是正常的请求,不执行下一步操作

猜你喜欢

转载自blog.csdn.net/weixin_43617255/article/details/83895192