Token为什么天然解决CSRF问题?用了Token能保证用户信息是安全的吗?

什么是CSRF?

CSRF(Cross-site request forgery)也被称为跨站请求伪造

一般来说,攻击者通过伪造用户的浏览器的请求,向访问一个用户自己曾经认证访问过的网站发送消息

使目标网站接收并误以为是用户的真实操作而去执行命令。常用于盗取账号、转账、发送虚假消息等

攻击者利用网站对请求的验证漏洞而实现这样的攻击行为,网站能够确认请求来源于用户的浏览器

却不能验证请求是否源于用户的真实意愿下的操作行为。

那么问题来了,攻击者是怎么伪造用户的浏览器的请求???--- Cookie&Session的认证模式


Token是怎么解决CSRF的?

看了上述的CSRF的基于Cookie的攻击模式,一句话说白了就是因为Cookie在每次请求发送的时候都会携带导致被攻击了

Token不会每次发请求都要携带,所以天然的杜绝了CSRF请求


Token就一定安全了吗?

举个例子,我是一名攻击者,从网络中截获了一个用户的HTTP请求,并从这个请求的请求头中拿到了该用户的Token,那我此时我作为一个攻击者,我在我的浏览器中存放这个token,然后登录到这个用户的token所属的那个网站上,是不是相当于我就是这个用户了。接下来的事情就不言而喻了。

这种攻击方式就是直接拦截了,理论上来说http请求如果被攻击者拦截的话是无解的

那怎么防范攻击者直接拦截呢?

直接用HTTPS对请求的内容进行加密,即使让攻击者拦截到了请求,也就无法从请求中得到信息


HTTPS是绝对安全的吗?

举例几个HTTPS被破解的可能

  1. 证书漏洞

    证书失效 :如果服务器使用的SSL/TLS证书过期或已被撤销,则客户端(如浏览器)可能不会信任该证书,从而导致连接失败或提示警告信息。

    中间人攻击(MITM) :在没有正确验证证书链的情况下,攻击者通过欺骗客户端接受自己的伪造证书,从而截获并解密通信。这通常需要攻击者能够控制受害者的网络环境,例如在公共Wi-Fi热点中实施ARP欺骗或DNS中毒。

  2. 密码学弱点:

    算法破译:虽然目前广泛使用的加密算法难以直接破译,但如果使用的加密算法存在已知漏洞,或者未来出现重大数学突破使得现有加密算法变得易受攻击,HTTPS的安全性就会受到威胁。

    弱密钥 :若服务器使用的是较弱的加密套件,或者密钥管理不当,比如使用易于猜测或较小的随机数生成密钥,都可能导致加密被破解,也就是对称加密的公钥被破解出来了

  3. 内部攻击

    内部人员滥用权限:在企业内部环境中,有权限访问服务器私钥的管理员或其他内部人员,理论上可以直接解密HTTPS通信。

相关推荐
2501_915918412 小时前
Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析
前端·低代码·ios·小程序·uni-app·编辑器·iphone
程序员爱钓鱼2 小时前
Go语言实战案例 — 工具开发篇:实现一个图片批量压缩工具
后端·google·go
程序员的世界你不懂2 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
索迪迈科技2 小时前
网络请求库——Axios库深度解析
前端·网络·vue.js·北京百思可瑞教育·百思可瑞教育
gnip2 小时前
JavaScript二叉树相关概念
前端
attitude.x3 小时前
PyTorch 动态图的灵活性与实用技巧
前端·人工智能·深度学习
β添砖java3 小时前
CSS3核心技术
前端·css·css3
ChinaRainbowSea3 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程
舒一笑3 小时前
同步框架与底层消费机制解决方案梳理
后端·程序员
minh_coo3 小时前
Spring框架事件驱动架构核心注解之@EventListener
java·后端·spring·架构·intellij-idea