CSRF
原理:诱导用户在访问第三方site时,访问攻击者构造的site,攻击者site会对原site进行恶意操作。
burp模拟攻击:
对一个博客系统点击发布文章时,Burp Suite抓包,右键CSRF PoC功能 -> Engagament tools -> Generate CSTF Poc ,HTML代码为CSRF漏洞测试代码,对其代码发布到一个网站,再诱导 目标用户点击,则目标用户会自动发布一篇文章。
浏览器Cookie策略
CSRF攻击时,需要cookie的话,就要Cookie劫持。
浏览器Cookie分为:
- “Session Cookie”
浏览器关闭,则失效 - “Third-party Cookie”。
expire时间后失效
某些浏览器是禁止<img>,<iframe>,<script>,<link>
等标签,跨域时传输"Third-party Cookie"。
如果网站返回给浏览器的HTTP头中包含有P3P头,则在某种程度上来说,将允许浏览器发送第三方Cookie。
P3P Header是W3C制定的一项关于隐私的标准,
全称是The Platform for Privacy Prefer-ences。
3 CSRF的防御
CSRF攻击往往是在用户不知情的情况下,构造了请求。
辅助手段:(2者都存在缺陷。)
- 验证码
强制与应用交互完成请求 - Referer Check
防止图片盗链和检测请求是否来自合法的源;
CSRF防御:
业界统一做法:使用一个Token:Anti CSRF Token
CSRF本质:是重要操作的所有参数都是可以被攻击者猜测到的。解决方案:把参数加密,或者使用一些随机数,从而让攻击者无法猜测到参数值。token:也由server生成,但server会检查用户传入与server端存储的是否一致。