csrf漏洞原理

csrf漏洞即跨站请求伪造,通俗来说即攻击者通过发送第三方网站(乱七八糟的网站)给你,然而这个网站中隐藏了对你已经登陆过的网站的一些请求,也就是含有你的身份认证信息,从而可以假扮你去操作一些事情。

举个例子: 假设微博的关注功能存在csrf漏洞
        正常情况下我们微博点赞关注看上去只是一个点击按钮,实际相当于我们发了一个请求 在这里我假设微博关注功能的请求是    https://www.weibo.com?attention=小明     那么这就表示给用户小明点了个关注。。注意:实际http请求中是携带了你cookie(即身份信息)的,总不能还没登陆微博就能点关注吧

这时,如果有人给你发了一个恶意链接 http://www.****.com 这个网站里头有一个很吸引你的图或者什么话题,然而这个话题或图的链接 <a href=“https://www.weibo.com?attention=小黑” taget=“_blank”> 如果你此时微博是登陆状态的,点了这个链接,就好像是你自己在请求关注小黑,这样你就成功关注小黑了。别小瞧这链接!!当然还有隐藏表单自动提交的我这就不举例了,我们换一个角度想想这危害性,大家都知道过年或国庆的时候,会时不时流行头像加国旗这种链接功能,而且传播很广泛,如果有人恶意做了个这样的网站,同时在微博又存在关注功能的csrf漏洞,那就会不知不觉都给这个人点关注了,那这买粉丝的情况是不是就有了。(题外话—之前老是不知不觉突然关注了很多不认识的人会不会是有这漏洞呢)

最后csrf原理附图理解

csrf特点:

现在从上图可以直观的看出其攻击成功的最终原因还是因为借用你的cookie身份去做些事情,而服务器没法区分是不是真的是你本人做的。

1、csrf攻击一般都是从第三方网站发起的而不是被攻击网站,网站还是正常的。

2、攻击者只能借用你的cookie,而不能查看cookie的值,只要是你cookie有的,他都能用

3、触发恶意链接的方式很多、不限于链接,还有图片、表单等等

防御

针对上边csrf的特点,我们可以得知主要解决点在于怎么让攻击者不能冒用你的信息,也就是说服务器怎么去识别他收到的请求是不是你本人发来的。

这里我主要讲token的防御原理,其他简要概括。

1、采用同源策略,同源策略是为了让服务器区分是哪个网址发出来的请求,如果不是从正常网址的请求则拒绝,通常是http请求中的origin 和referer字段—当然这种方式并不能保证一定安全,在这里不细讲了,给个传送门,这部分这讲的请明白的csrf防御–同源策略
        2、token的防御方法:想必很多人刚开始了解都有个疑问就是都能用他cookie了,为什么还能把token存在cookie里。。。记住一点!!!!攻击者只能借用你的cookie而不知道cookie的值!!!!

如上图 攻击者是可以直接盗用你的身份信息的,当然cookie不可能直接存你账号密码,这里只是一个简单表示,攻击者可以直接拿来用也可以用你的cookie中的token值,但是传到服务器后,服务器会检查你cookie中的token值和你请求参数的token值是不是一致,如果不一致,那就不是你本人发的 攻击者能够控制的参数比如关注小黑,但是token值攻击者不知道是啥,所以就能成功防御csrf,当然如果该网址还存在xss漏洞的话,这就失效了,xss漏洞是能直接获取到cookie中的内容的。两者一配合,这防御就彻底失效。

通俗易懂的csrf漏洞(token为什么能放cookie)相关推荐

  1. csrf漏洞防御方案_CSRF原理实战及防御手段

    注:本文仅供学习参考 csrf定义: CSRF跨站点请求伪造(Cross-Site Request Forgery)攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是 ...

  2. 一个express老系统csrf漏洞修复

    一个运行快两年的express框架web系统,被安全部门审核存在csrf漏洞,项目使用的前后端分离的形式,所有功能操作,通过ajax调用后端接口来完成,查了很多资料,一个基本的防御思想就是验证随机数了 ...

  3. web安全-----CSRF漏洞

    简述 CSRF:Cross-site request -forgery,跨站请求伪造,是一种web攻击方式,是由于网站的cookie在浏览器中不会过期,只要不关闭浏览器或者退出登录,那以后只要访问这个 ...

  4. Csrf漏洞概述及其原理

    一.Csrf漏洞的概述 1.CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Ridin ...

  5. csrf漏洞防御方案_CSRF 漏洞原理详解及防御方法

    跨站请求伪造:攻击者可以劫持其他用户进行的一些请求,利用用户身份进行恶意操作. 例如:请求http://x.com/del.php?id=1是一个删除ID为1的账号,但是只有管理员才可以操作,如果攻击 ...

  6. 【网络安全】CSRF漏洞详细解读

    CSRF 一 CSRF介绍 1.什么是CSRF 2.CSRF漏洞危害 二 CSRF的三种漏洞 1.GET类型CSRF 2.POST类型CSRF 3.Token类型CSRF 三 靶场演示 四 CSRF漏 ...

  7. 【CSRF漏洞-01】跨站请求伪造漏洞靶场实战

    概述 跨站请求伪造(Cross-site request forgery,CSRF)是一种攻击,它强制终端用户在当前对其进行身份验证后的web应用程序上执行非本意的操作. CSRF攻击的主要目的在伪造 ...

  8. CSRF漏洞利用以及防御手段(详细解释)

    基础知识 CSRF漏洞基础知识 靶场实验(DVWA) DVWA security:low 查看源码 <?phpif( isset( $_GET[ 'Change' ] ) ) {// Get i ...

  9. 《WEB安全漏洞100讲》(第4讲)CSRF漏洞

    1.CSRF漏洞原理 CSRF(Cross-site request forgery),跨站请求伪造,简写 CSRF/XSRF.指利用受害者尚未失效的身份认证信息(cookie.会话等),诱骗其点击恶 ...

最新文章

  1. vue router name命名规范_超完整的Vue入门指导
  2. Android JNI 传递对象
  3. SolrException: Index locked 和 Error opening new searcher 最终解决方案(找了好久才解决)
  4. MySQL优化之推荐使用规范
  5. C语言字符串压缩显示
  6. Java中的状态设计模式
  7. 浅谈智能摄像机背后的p2p连线技术
  8. 让.net 2.0支持并行计算
  9. java辅助百度贴吧_【图片】【共同上进】新手java代码辅助代写贴,新手福音! 申精!_java吧_百度贴吧...
  10. 修改注册表设置桌面和收藏夹路径
  11. 吴恩达深度学习——浅层神经网络
  12. Linux与Windows编译器的区别
  13. html css调用自定义字体,html css使用特殊自定义字体避免侵权
  14. 蜂鸣器的专业分类是这样的
  15. Android模拟器Root
  16. #Geek Point# 八年了,消费级智能眼镜到底该怎么做?
  17. 计算机病毒中的后门病毒,后门病毒是什么?
  18. 体验车联网,你选对物联网卡了吗?
  19. mdb实时同步mysql_Mysql的实时同步 - 双机互备
  20. MAC地址存在的意义

热门文章

  1. 小米 2022校招 java后端一面凉经(55min)
  2. 【180622】带音效的VC++俄罗斯方块游戏源码
  3. VC写的双人版俄罗斯方块
  4. robocup3d仿真平台的安装
  5. iPhone6今发售被指已变味 加价倒手成黄牛圈钱工具
  6. 基于汇编实现的欢乐QQ堂小游戏 附完整代码
  7. HTML径向效果,HTML Canvas实现径向渐变效果
  8. 地图定位技术揭秘(一)
  9. JS-对象,包装类--渡一教育(视频笔记)
  10. python3.4勾股定理代码_用于解答算法题目的Python3代码框架