漏洞原理
攻击者诱导受害者进入攻击者设定的网站,在攻击者设定的网站中,向被第三方网站发送跨站请求。利用受害者在第三方网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对第三方网站执行某些操作。
漏洞危害
修改受害者网站上的账号、密码
用户劫持
传播CSRF蠕虫
利用其他漏洞进行组合攻击
攻击场景
受害者登录第三方网站,并保留了用户凭证(Cookie)
攻击者诱导受害者访问攻击者设定的网站
攻击者设定的网站向第三方网站发送了一个请求操作,浏览器会默认携带第三方网站的Cookie
第三方网站接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求
攻击者设定的网站以受害者的名义执行了操作
攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让第三方网站执行了自定义操作
防御方案
不要用GET传递数据,用POST可以降低风险
在改密等重点接口加入验证码(图形、手机),还要避免流程绕过漏洞
校验Referer
增加CSRF Token。
绕过手段
CSRF Token重放
CSRF Token置空
CSRF Token溢出
特殊值