首页 > 其他分享 >csrf防御的思考

csrf防御的思考

时间:2024-03-20 22:24:49浏览次数:27  
标签:浏览器 请求 cookie 防御 tocken 攻击者 思考 csrf

关于csrf防御

什么是csrf

csrf就是攻击者利用受信任用户的浏览器(利用浏览器的cookie),在其已经登录某个站点(A站点)的情况下,在用户不知情的情况下在A站点执行了恶意操作。恶意url一旦点击,发送请求时浏览器会自动携带cookie

从上面简介可知,发生csrf主要在于A站点,没有对发起的请求进行充分的身份验证

一些防御手段

刚开始学的时候看到的防护手段:

  1. 验证referer(csrf一般请求是来自第三方站点,只需验证操作请求是否来自A站点)

  2. 加tocken

  3. 加一些确认操作(比如想要修改密码需要输入原密码,进行一些敏感操作需要用户确认)

  4. cookie的samesite属性(本质上也是利用csrf一般是第三方站点)

关于tocken

已经很清楚了,防CSRF主要就是做好请求方的身份验证。而cookie进行身份验证显然不行,因为这里浏览器自动携带cookie(这里不考虑前端限制,如cookie的samesite属性)

之前不太了解tocken,上网查大概就是:一段加密的值,在客户端发送请求时会携带,发到服务端并进行验证

疑问:那么tocken是怎么携带的呢,似乎这和cookie没什么区别

查资料tocken防御csrf原理:

  1. tocken并不像cookie一样,在浏览器发请求时在http头自动携带

  2. tocken作为参数发送到服务端,服务端对比收到tocken与存储的tocken值(get请求的url,post请求的表单隐藏值)

    从1、2可以理解为tocken不是由浏览器携带,而像是用户主动添加参数值发送。既然这里体现主动,用户就不会在不知情下执行操作(攻击者是不知道tocken值的,所以攻击者在构造表单或者url时不能构造出tocken对应的参数值,那么可以理解为一旦操作执行成功,意味着tocken参数值正确,而tocken参数值只有用户自己知道——用户登录成功其执行操作的表单会自己有这个隐藏属性)

  3. 还有一种tocken验证是cookie中包含了tocken,然后要求tocken作为参数传到服务端(这种情况下服务端不必存储tocken,而是拦截请求对比cookie提取的tocken和参数传过来的tocken是否一致)

总的来说tocken防csrf要点还是它要作为参数传到服务端,csrf构造恶意url和表单都需要攻击者构造参数(这些参数代表某些操作,而tocken参数代表身份验证),而tocken攻击者是不知道的

其实cookie攻击者也不知道,只要解决了浏览器不管请求是否合法都自动携带cookie的问题也是可以防止csrf的

标签:浏览器,请求,cookie,防御,tocken,攻击者,思考,csrf
From: https://www.cnblogs.com/q1stop/p/18086253

相关文章

  • 聊聊心理医疗领域大模型的落地思考
    转载请注明出处:https://www.cnblogs.com/zhiyong-ITNote近来,工作偏向于心理医疗领域方面的大模型,仅从领域大模型的落地,聊聊个人的一些思考。硬件准备好花钱买GPU。领域大模型业务场景的思考首先需要审视斟酌业务领域的特殊性与可行性,我们要做的是心理领域,而心理领域倾向于......
  • S6E1《极客与团队》:工程师的团队思考
    工程师的疑惑最近在豆瓣关注了一个网友,发了很多关于工作的片段化判断。例如关于站队抱团问题、关于新旧技术的迭代、关于怎么包装结果去获得晋升。看到他的帖子,就像看到我的一个朋友,他在工作的早期也遇到了这些问题。不过他后面通过换公司,一定程度上少了很多类似的困扰。​​这......
  • S6E1《极客与团队》:工程师的团队思考
    工程师的疑惑最近在豆瓣关注了一个网友,发了很多关于工作的片段化判断。例如关于站队抱团问题、关于新旧技术的迭代、关于怎么包装结果去获得晋升。看到他的帖子,就像看到我的一个朋友,他在工作的早期也遇到了这些问题。不过他后面通过换公司,一定程度上少了很多类似的困扰。​​这......
  • 算法思考题-三只老鼠找8瓶毒药思路
    算法思考题-三只老鼠找8瓶毒药思路问题描述:有8瓶药,其中只有一瓶是毒药,药性很强,一滴致死,你有三只老鼠试毒,但毒药发作时间时24小时,你最短能在几天试出有毒的药呢?提示,老鼠可以一次喝一瓶,也可以一次喝多瓶。思路:二的三次方等于八!!!!原因分析:一:往往最开始会想到二分法,先将......
  • 同步-异步思考
    同步:一件事情执行结束后,才能执行下一件事. 1.只有一个线程:  2.有两个线程: 上面两个模型都是在执行任务2的时候,不会执行任务3,等任务2执行结束的时候才执行任务3伪代码:main(){定义变量a=1;a=awaitget_number_two();打印a的......
  • 常见web漏洞原理,危害,防御方法_常见web漏洞原理及危害和防御方法
    一暴力破解概述:在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。危害:用户密码被重置,敏感目录.参数被枚举防......
  • 聊聊大模型微调训练全流程的思考
    转载请注明出处:https://www.cnblogs.com/zhiyong-ITNote参考现有的中文医疗模型:MedicalGPT、CareGPT等领域模型的训练流程,结合ChatGPT的训练流程,总结如下:在预训练阶段,模型会从大量无标注文本数据集中学习领域/通用知识;其次使用{有监督微调}(SFT)优化模型以更好地遵守特定指令;......
  • ZYNQ AXI 片上互联的再思考:AXI GP口/axi lite
    之前笔记:Zynq上的存储器接口与差分时钟与DDR3_zynqddr3-CSDN博客使用AxiLite接口访问寄存器列表作为缓冲区_两个参数共用axilite中一个寄存器-CSDN博客PS与PL互联与SCU以及PG082_pl能不能用ps-gtr-CSDN博客ZYNQ上互联的AXI主要有三种:AXILITEAXIHPAXIACP AXILITE......
  • XSS及防御
    一,什么是XSSXSS(跨站脚本攻击,Cross-SiteScripting)是一种常见的安全漏洞,攻击者通过在网页中注入恶意脚本,使得用户在浏览网页时执行这些恶意脚本,从而达到窃取用户信息、会话劫持等恶意目的。通常恶意脚本不仅限于JavaScript,还包括Java,VBScript,Flash,ActiveS;二,XSS及类型1,XSS攻......
  • 关于处理视频断流的一些思考
    虽然大部分摄像头都不支持热拔插,但我觉得思考一下相关问题还是有意义的。先说结论:处理断流的根本在于同步信号。正所谓,输入端通常会有同步头、同步行之类的时间串口,通过对这个期间的信号做处理以后使用其上升沿作为标志,用来重置存储地址和FIFO是处理输入同步的有效方法。代码:......