CSRF漏洞原理与防御

CSRF(跨站请求伪造)

攻击者盗取受害者的cookie凭证,以受害者的名义发送恶意请求,对服务器来说这个请求完全是合法的,让受害者亲自去执行攻击者所布置的操作,且真个过程受害者不会察觉

 

CSRF漏洞成因:网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,之后只要访问这个网站,都会默认你已经登录的状态。在此期间,攻击者发送了构造好的csrf脚本,或包含csrf脚本的链接,诱使受害者去点击。

 

CSRF攻击过程

 

1受害者浏览登录存在CSRF漏洞的网站A,输入账号密码

2网站验证成功,并返回cookie给浏览器

3在第二步时,网站同时返回恶意的脚本或包含恶意脚本的链接,就会访问攻击者构造的恶意网站(用户未退出网站A,并在同一浏览器中访问望网站B)

4此时攻击者已经盗取了受害者的cookie凭证,网站B返回攻击性代码并要求受害者去访问存在漏洞的网站A

5受害者携带cookie信息访问网站A,并执行了攻击者希望你去执行的恶意操作

 

CSRF攻击所必须的条件:1 受害者在漏洞网站处于已登录状态;2受害者需要打开恶意站点

 

XSS与CSRF的区别

XSS:是攻击者盗取受害者cookie,并自己使用凭证进入系统,执行操作

CSRF:攻击者利用cookie凭证,是受害者自己进入系统,帮助攻击者执行各种操作且不会被察觉

 

CSRF漏洞检测方法:

网页操作功能,抓包,若没有token参数,将referer信息改为空值,重放请求,如果请求成功,则存在CSRF漏洞

 

dvwa中csrf漏洞的检测

修改密码,抓包,发现没有token参数,将包发送到Repeater,然后将referer改为空,发送请求,请求成功,存在漏洞

此时拷贝地址栏中的URL,修改其中的参数,并发送请求,可成功修改密码(两个值都修改)

 

CSRF利用(get请求)

方式一

1 get请求,直接发送链接 (t.im 短链接生成网站)

2 诱导用户访问

3 显示结果

方式二

方式三

1 结合XSS,用户出发XSS漏洞

2 XSS脚本执行埋入该网站中(IP是CSRF漏洞网站的IP)。当访问该XSS站点时,就会执行script脚本,从而密码被修改 。

 

CSRF利用(post请求)

你可能感兴趣的:(web安全)