CSRF与XSS漏洞区别在于,xss漏洞是直接拿到用户的权限,而CSRF漏洞是借用用户的权限完成操作。
接下来结合pikachu靶场来理解CSRF漏洞利用的过程。
CSRF(get)
kobe是个坏蛋,他想要修改老实人allen的个人信息,但是allen又不可能把自己的密码给他。于是,kobe登录了自己的账号修改自己的信息想要找到网站的漏洞,皇天不负有心人,kobe发现了即使删了referer也会正常修改信息,这个网站很有可能存在csrf漏洞。
接着kobe生成了csrf的poc。
随后搭建了一个网站并且诱导allen点击。
而这时allen在已经登录了的前提下点击了该链接,发现自己的信息被修改了。
而若是allen点击链接时并没有登录网站,那kobe修改不了allen的信息。
CSRF(post)
与get类似,下一位受害者vince
CSRF Token
登录kobe连续修改几次发现请求头多了token这个参数并且每次数值还不通。
token存在校验,token值不正确不会执行修改信息的操作。
CSRF与XSS配合
看到信息修改的提交框,我们会想这个输入框是否存在xss漏洞,尝试一下发现没有任何的过滤,可以利用弹出xss框。
这样的话我们可以把xss漏洞和csrf漏洞配合起来进行攻击,可以造成更大的伤害。
受害者Kevin遭受到了xss和csrf的双重攻击。