1、Web攻防 训练营,CSRF漏洞防御,课程内容,01,验证码防御,验证码防御,验证码防御被认为是对抗CSRF最为简单而且有效的防御方法。,CSRF在用户不知情的情况下完成对应操作,而验证码强制用户与应用程序交互,才能最终完成操作。通常情况下,验证码能够很好的遏制CSRF。,出于用户体验考虑,不可能每一个操作都加入验证码。所以验证码只作为辅助手段,不能作为防御CSRF的主要解决方案。-验证码防御也可以被认为是二次验证,02,Referer Check防御,Referer Check防御,Referer Check主要用于防止盗链。同理也可以用来检查请求是否来自合法的“源”。,比如用户修改密码,一
2、定是在登录系统后台之后进行操作。所以在修改提交表单的时候,一定会从系统后台页面提交。携带Referer头。如果Referer不是当前系统的域,那么极有可能遭受CSRF。,缺陷:服务器并非任何时候都可以取到Referer。例如HTTPS跳转到HTTP。,03,Anti CSRF Token防御,Anti CSRF Token防御,CSRF本质原因:重要操作的所有参数都是被恶意攻击者猜测到的。,那么防御措施就是生成一个随机且不被轻易猜测的参数。目前大多数防御都采用token(不可预测)。,04,Token泄露,Token泄露,例如:GET型Token泄露页面包含 那么请求中的Referer就会携带对应的GET Token。,例如:POST型Token泄露利用XSS漏洞读取Cookie,获取存储在其中的Token值。,总结,再见,欢迎关注 Web安全 训练营课程,