CSRF

CSRF(Cross Site Request Forgy)跨站请求伪造,是指其他网站在用户不知情的情况下向目标网站发送请求。

对于需要POST方式提交的后端方法,完成一次CSRF需要在伪造页面构造一个隐形表单并自动提交。而对于GET方式即可操作的后端方法,完成一次CSRF仅仅只需要通过页面对目标地址进行GET请求即可,如使用<img>标签通过src属性对某网站的文章进行评论,并且生成的评论还可以含有<a>标签,评论再次点击将再次回到发送虚假请求的页面,循环往复,迅速扩散,形成网络蠕虫。

CSRF攻击原理:
     1.用户在A网站登录,
     2.A网站确认身份并保存cookies,
     3.用户登录B网站,B网站页面向A网站发送请求(携带A网站身份)

CSRF攻击时的特征,B网站向A网站发送请求,携带A网站Cookies,不访问A网站前端,referer为B网站。利用这些特征可以对CSRF进行有效防御。
     1.禁止第三方网站携带Cookies。设置Cookies的same-site属性,Strict:任何请求不得携带Cookies,Lax:允许部分请求携带Cookies。
     2.在前端页面加入验证信息。可以有效防御CSRF攻击,但是会降低用户的使用体验。
     3.token。用户登录后生成token并保存到Cookis中,用户行使权力时携带token(可以放到表单或<meta>中)和Cookies,对比携带的token和Cookies中保存的token通过才能通过请求,攻击者无法获取到登录用户的token,导致攻击失败。
     4.referer为B网站,可以通过验证referer来判断执行或拒绝请求,如果referer信息不是来自本站,拒绝请求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值