Pikachu-CSRF Token及CSRF常见防范措施总结
我们先来了解下token是如何防止CSRF漏洞的,
当你每次请求修改个人信息的时候,后端就会调用一个函数,(下图是个简单实例)
防范CSRF措施
增加token验证(常用的做法):
1、对关键操作增加token参数,token值必须随机,每次都不一样;
关于安全的会话管理(避免会话被利用):(我们之前说过CSRF的攻击必须是登录态)
1、不要在客户端保存敏感信息(比如身份认证信息);
2、测试直接关闭,退出时,的会话过期机制;
3、设置会话过期机制,比如15分钟内无操作,则自动登入超时;
访问控制安全管理:
1、敏感信息的修改时需要对身份进行二次认证,比如修改账号时,需要判断旧密码;
2、敏感信息的修改尽量使用post,而不是get;(post的安全性比get高些)
3、通过http 头部中的referer来限制原页面(比如修改个人信息的referer必须来自本域,不能是其他域的或者没有referer)
增加验证码(也可以看成 小token但需要人机交互):
一般用在登录(防暴力破解),也可以用在其他重要信息操作的表单中(需要考虑可用性)