[9]CSRF你清楚吗?

是什么

CSRF(Cross-Site request forgery)跨站请求伪造 你可以这么来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

区别XSS与CSRF

XSS:利用用户对站点的信任 【对于可以的站点一般会提示是否继续访问,也就是说如果用户不信任一个站点,就不会出现XSS攻击】 【服务器下发的脚本在客户端浏览器执行】 CSRF:利用站点对已经身份认证的信任 结论:不要在网上瞎点,说不定你点击的就是黑客精心准备的攻击链接

CSRF 漏洞现状

CSRF 这种攻击方式在2000 年已经被国外的安全人员提出,但在国内,直到06 年才开始被关注,08 年,国内外的多个大型社区和交互网站分别爆出 CSRF 漏洞,如:NYTimes.com(纽约时报)、Metafilter(一个大型的 BLOG 网站),YouTube 和百度 HI……而现在,互联网上的许多站点仍对此毫无防备,以至于安全业界称 CSRF 为“沉睡的巨人”。

防御手段

①检查 HTTP Referer 字段

每一个请求都一个referer字段,记录请求的来源,后台通过这个字段,可以知道这个请求是否是合法的。这种方法很简单,但是不安全,因为这个referer字段是可以篡改的。

比如:我们让nginx给我们代理,然后就可以修改referer.

②添加校验 token

由于 CSRF 的本质在于攻击者欺骗用户去访问自己设置的地址,所以如果要求在访问敏感数据请求时,要求用户浏览器提供不保存在 cookie 中,而是服务器发放的token,这个token是攻击者无法伪造的数据作为校验,那么攻击者就无法再运行 CSRF 攻击。

③使用验证码

在敏感的操作前,加上验证码,后台可以通过验证码可以防御CSRF攻击;这时候每次关键操作都是用户自己知道的,主动触发的。

在微信商户平台,我们配置一些敏感的操作是不是都需要给管理员的手机号发送验证码。这个方法还是很常见的。但是这种做法不是很友好

更多学习视频学习资料请参考:B站搜索“我们一起学前端” 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值