CSRF攻击和防御详解

来源:赵克立博客 分类: 网络安全 标签:网络安全发布时间:2016-12-12 09:54:17最后更新:2016-12-12 10:14:27浏览:2441
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2016-12-12 10:14:27
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

CSRF说明

CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF

攻击者可以盗用你的身份,以你的名义发送恶意请求。

如图:

blob.png

攻击条件

简单的理解下就是,比如你登陆一个网站后台管理会员的会员中心,里面有一个把提升会员的get请求如  www.xxxxxx.loc/a=sethf&id=58&auth=2

这个请求是把会员id为58的提升下用户权限组,正常情况下后台都是这样做的.

攻击方法

然而这个时候有一个前台会员用户知道啦这个请求可以把对应的会员提权到指定的用户组(特别是一些开源程序大家都知道源码的话这个请求是很容易找出来的)

这个会员把上面的提权请求加到一个网页中比如一个图片标签的src等可以请求第三方资源的页面都可以然后发给上面的那个管理员打开,页面没有任何提示,但是上面的提权请求操作已经发出去啦,

并且他会带上管理员登陆后已经保存在浏览器中的cookies,就像一次正常的请求一样

只要服务器端没有任何验证,验证攻击方法还有很多

防御方法

1、在生成表单时在表单里添加一个随机的验证字符串,并且保存到session中,当请求发送到服务器时验证字符串看是不是跟会话里保存的一至

2、提交表单时添加一个验证码,(在有些情况下老是输验证码似乎体验不太好)



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python