目录
什么时csrf
跨站请求伪造,伪造来自受网站信任的用户的请求来利用该网站
xss:窃取cookie
csrf:借用cookie
利用条件:
- User登录了受信任的网站,且生成了cookie
- 在不登出该网站的情况下登录了别的危险网站
利用方法:
- 盗取身份发送邮件,信息等
- 修改用户信息
- 。。。
CSRF的特点
- 一般发起在第三方网站,而不是被攻击网站,所以被攻击网站无法防御
- CSRF只能冒用用户身份进行操作,不能得到用户的登录凭证
CSRF攻击
利用burpsuit的CSRF poc功能,具体操作不赘述
CSRF防御
阻止不明外域访问:
- 同源检测(解析origin Header和referer Header 获取请求的来源域)
- 设置Samesite Cookie(strct,lax,none)
提交时要求附加本域才能获取的信息:
- 设置cookie
- 验证码
- 双重cookie验证
CSRF绕过
origin&referer:
- 设置origin为null
- 移除referer字段 不同协议之间跳转,如http和https,data协议
- 利用正则缺陷 aaa.com aaa.com.hack.com hack.com/aaa.com
Token:
- 利用后端逻辑错误:发送另一个session的token(后端仅检测token是否正确,不管是谁的);删除token或发送空的token(有时后端仅在token存在或不为空时才检测token)
- 猜测token
- 从html中获取token