前端知识库-前端安全系列一(攻防)

前言

最近重新整理了下自己的前端相关知识,在前端安全这个领域由于最近两年做的事内部项目,对此没有太多的实际应用,借此机会重新去了解下,俗话说温故而知新,从故有的知识中总结获取新的知识才是我们进步的基础。

前端安全

跨站点请求伪造(CSRF)

在国内互联网刚发展阶段,网站的CSRF漏洞还是比较多的。假设我们是攻击者,那当被攻击网站满足以下几个条件是,我们就可以顺利的进行CSRF攻击:

  • 用户登录被攻击网站,并且保存的cookie信息
  • 用户打开另一个tab访问我们的恶意网站
  • 被攻击网站未做任何CSRF防护

攻击流程

当你的网站满足上面三个条件了,那当前登录用户的信息对于恶意网站而言就是完全透明的了,下面说说攻击流程:

  • 用户打开A网站
  • 登录A(XSRF漏洞)
  • 生成登录cookie
  • 同个浏览器B(伪造攻击网站)
  • B网站通过脚本获取A的cookie并发送给攻击者后台
  • 攻击者拿到cookie 通过cookie获取用户信息

如何防范

通过分析可以发现XSRF攻击方式是通过钓鱼网站拿到cookie,然后攻击者进行非法操作,解决方式就是让攻击者拿不到cookie或者验证方式不仅仅只是cookie。

  • 尽量使用POST,限制GET,这样可以增加攻击难度,攻击者必须伪造form表单才能请求。
  • 将cookie属性设置为httponly,这样攻击者就获取不到cookie了。
//nodejs express为例
res.cookie('userinfo','*******',{maxAge:60000,path:'/news',httpOnly:true}) 
  • 服务端增加token验证,每次登录时服务端生成token,每次的请求对token进行校验
  • 通过Referer识别,服务端通过header中的refer获取来源地址,如果是非法的则拒绝操作。
String referer = req.headers.referer 

跨站脚本攻击(XSS)

反射型

  • 用户通过攻击者的提供的链接登录被攻击的A网站
  • A网站对链接未做任何字符串校验

存储型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值