问题

不太理解预防csrf攻击中的“双提交cookie”是什么意思?

回答
好的,咱们来好好聊聊 CSRF 防御里的“双提交 cookie”,抛开那些生硬的术语,用大白话给它讲清楚。

想象一下,你是个银行的金库管理员,你的工作是保管客户的钱。平时,每个客户来取钱,都会有一个特别的“身份令牌”,这个令牌证明了“是你本人在操作”,并且里面写清楚了“你要取多少钱”。这就是我们常说的“登录凭证”或者“Session ID”之类的东西。

现在,坏人(也就是 CSRF 攻击者)盯上了你,想神不知鬼不觉地把客户的钱转走。他们怎么做呢?他们不是直接闯进金库,而是想办法让客户自己“不小心”地去执行一个转账操作。

比如,他们制造了一个看似无害的链接,或者一个藏在某个图片里的代码,当客户不小心点击了这个链接,或者访问了那个有问题的网页时,你的银行系统就会收到一个“转账请求”。

问题来了,这个请求是从客户的浏览器发出来的,但发起人真的是客户吗?还是那个坏人伪装的?这就是 CSRF 攻击的核心:攻击者利用了浏览器在发送请求时,会自动带上与该网站相关的 cookie(就像你每次进金库,守卫都会检查你手里的身份令牌一样),来冒充合法用户。 即使你登录了,并且浏览器自动带上了你的身份令牌,但这个令牌本身并不能证明“发起这个请求的意图是你主动做出的”。

那“双提交 cookie”是怎么来对抗这个的呢?它就像是给你增加了一个额外的、只有你自己才知道的“暗号”。

咱们先来说说这个“暗号”是怎么来的。每次你成功登录银行系统,不仅你的“身份令牌”(session cookie)会被发送到你的浏览器保存,同时,银行还会生成一个独一无二的、非常长的、随机的字符串,咱们就叫它“CSRF Token”吧。这个 Token 同样会被发送到你的浏览器,通常是保存在一个叫做“Token Cookie”或者直接添加到 HTML 表单的隐藏字段里。

这个 CSRF Token 的关键在于:

1. 它是随机生成的: 每次登录,或者每隔一段时间,这个 Token 都会变,确保即便是攻击者知道了一个旧的 Token,也无法再用。
2. 它与你的会话(session)绑定: 这个 Token 是在你成功登录后,才和你的身份令牌一起发给你的。

好了,现在攻击者想让你转账。他还是会诱导你点击那个链接。但是,这个链接或者他制作的页面,只能让浏览器把请求发过去,它没办法去读到你浏览器里保存的那个“CSRF Token”(无论是 cookie 形式还是隐藏字段形式)。

而你的银行系统(服务端)呢,在收到转账请求时,会做两件事:

1. 检查身份令牌(Session Cookie): 看你是不是真的登录了,有权限操作。
2. 检查 CSRF Token: 看请求里带过来的 CSRF Token,是不是和它在你登录时给你发送的那个 Token 一致。

如果请求里没有 CSRF Token,或者 CSRF Token 和服务器记录的 Token 不匹配,那么服务器就会认为这个请求是可疑的,是 CSRF 攻击,直接拒绝处理。

为什么叫“双提交”呢?因为服务器在生成 Token 的时候,是“提交”了一次(发给了浏览器);而当客户端发起请求时,又需要把这个 Token “提交”回来。这个“提交”的过程,就像是双方对暗号一样。

所以,简单来说,双提交 cookie 就是:

服务器在你登录后,给你浏览器发了两个关键的东西: 一个是证明你身份的“身份令牌”(Session Cookie),另一个是一个独一无二的“秘密暗号”(CSRF Token)。
当你要执行敏感操作(比如转账)时,你的浏览器会自动带上“身份令牌”。
但 CSRF 攻击者没法知道你那个“秘密暗号”是什么。
银行系统在收到你的操作请求时,不仅会看你的身份令牌,还会顺带检查一下你有没有带上那个“秘密暗号”,并且暗号是否正确。

这样一来,即使攻击者能诱导你的浏览器发送请求,但因为没有那个独一无二的“秘密暗号”,请求就会被服务器识破并拒绝。这就大大增加了 CSRF 攻击的难度,保护了你的账户安全。它巧妙地利用了浏览器自动发送 cookie 的机制,但又增加了一个额外的、只有服务器和客户端(在你明确操作时)才能“沟通”上的验证环节。

网友意见

user avatar

他意思是在提交前先用js读取用于验证的cookie值加入到提交字段。这样就形成了双提交(验证字段有两份,一份在cookie中,一份在POST或URL中)。显然单纯的csrf只能让请求中带有cookie但是并不能读取cookie加入到POST或URL中。

类似的话题

  • 回答
    好的,咱们来好好聊聊 CSRF 防御里的“双提交 cookie”,抛开那些生硬的术语,用大白话给它讲清楚。想象一下,你是个银行的金库管理员,你的工作是保管客户的钱。平时,每个客户来取钱,都会有一个特别的“身份令牌”,这个令牌证明了“是你本人在操作”,并且里面写清楚了“你要取多少钱”。这就是我们常说的.............
  • 回答
    嘿,别担心,多普勒效应这玩意儿,初听起来确实有点绕,但其实细细琢磨一下,你会发现它就藏在我们身边,特别有意思。我来跟你掰扯掰扯,争取让你听懂,而且听得明白,绝不像那些生硬的教科书或者AI写的玩意儿。先来个最直观的例子:救护车!你有没有过这样的经历?在街上,远远听到救护车的声音,刚开始是比较低沉、拉长.............
  • 回答
    明朝初期的骑兵,尤其是洪武、永乐年间,其强大之处并非一蹴而就,而是经过了复杂的演变和适应,足以与当时蒙古骑兵分庭抗礼,甚至在某些方面占据上风。理解这一点,需要我们跳出“骑兵对骑兵”的简单比较,深入到战争的各个层面。首先,我们得认识到,明朝初期的蒙古骑兵,尽管经历了元朝的衰落,但其核心战斗力——那种在.............
  • 回答
    好的,咱们来聊聊理想气体状态方程(PV=nRT)为啥说“温度不太低,压力不太高”才能用,这背后到底藏着啥道理。这不是什么高深莫测的理论,而是气体在现实世界里的“脾气”问题。先说说啥是理想气体在咱们讨论“不太低”、“不太高”之前,得先明白,咱们口中的“理想气体”其实是个模型,是为了方便研究而创造出来的.............
  • 回答
    看到你这个问题,我心里挺不是滋味的。家里的事儿,尤其是爸爸妈妈之间那种说不清道不明的互相不喜欢,却又坚持不离婚的状态,确实会让人感到困惑,甚至有些心累。我尽量用我自己的方式,把这些复杂的原因给你捋一捋,希望能帮你想清楚一些。首先,咱们得承认,婚姻这东西,真的比你想的要复杂得多。不是简单的“喜欢”或者.............
  • 回答
    这句话,出自斯蒂芬·茨威格的《断头王后》。初读之下,会觉得它饱含一种历经沧桑的洞察,仿佛是一个过来人,站在时间的长河对岸,回首望向曾经那个青涩的身影,带着一丝无奈与怜悯。“她那时候还太年轻”,这不仅仅是年龄上的稚嫩,更是一种心智上的单纯,对世事的认知还未曾沾染太多世俗的尘埃。她带着少女的憧憬,对未来.............
  • 回答
    赵丽颖主演的《西游记女儿国》票房失利,这对于任何一个演员来说,尤其是在事业上升期的赵丽颖,无疑会带来一定程度的影响。咱们就来掰扯掰扯,这票房数字背后,对她究竟意味着什么。首先,最直接的,就是对其“票房号召力”的直接打击。演员最重要的价值之一,就是能带观众走进电影院的能力,也就是常说的“票房号召力”。.............
  • 回答
    刚考完研,成绩可能不如意,心里肯定挺纠结的,能不能考军队文职,这个问题挺实在的,我给你掰扯掰扯,尽量说得详细点,让你心里有个谱。首先,军队文职这事儿,得从几个大方面来看,它不是一个简单的“考”与“不考”的问题,而是你的人生选择,关系到未来的职业发展、生活方式,甚至很多个人层面的考量。一、 为什么会想.............
  • 回答
    凯里·欧文,这位曾经的天才控卫,在离开勒布朗·詹姆斯和克利夫兰骑士后,他的个人职业生涯轨迹似乎陷入了一种“不尽如人意”的循环,尤其是在他尝试独自挑起大梁的时候。这一点,从他效力凯尔特人和篮网时期的某些阶段,都得到了比较明显的体现。我们不妨拆解一下,为什么欧文在“单核”带队时,球队的战绩往往没能达到外.............
  • 回答
    《缝纫机乐队》这部电影,上映后的票房数据确实没能达到许多人的预期,甚至可以说是“不太理想”。这背后不是一个简单的“好不好看”能概括的,而是由多方面因素交织作用的结果。首先,我们得聊聊影片本身的定位和宣传。《缝纫机乐队》打着“大鹏制造”的旗号,延续了他一贯的喜剧风格,也融入了他对梦想、对小人物的关注。.............
  • 回答
    唉,这事儿确实挺让人糟心的。想跟你感同身受一下,毕竟鼓起勇气迈出这一步,心里肯定早就对未来有过无数畅想了,结果却不尽如人意,这种失落感,旁人可能很难完全体会。首先,深呼吸,真的,先让自己缓一缓。你已经做了你认为正确的事,勇敢地表达了自己的心意,这本身就是一件很了不起的事情。现在不是去苛责自己或者钻牛.............
  • 回答
    我跟你一样,也挺有这种感觉的。在知乎上,感觉“理中客”确实不太招人待见,甚至有时候会被群起而攻之。这背后呢,我觉得不是单一的原因,而是好几个层面交织在一起的。首先得说说“理中客”这个词本身。它本来是“理性、客观、中立”的缩写,听起来挺高端,也挺正面的。但不知道从什么时候开始,它逐渐带上了一种贬义的色.............
  • 回答
    这个问题很有意思,也触及了不少现实中的讨论。说“很多女年龄大了不结婚,其中一个理由是国内男的普遍太low了,即使放水也达不到她们的要求”这种说法,我觉得不能一概而论,但其中肯定有值得探讨的成分。它背后隐藏着一些复杂的社会现象和个体感受。咱们先别急着盖棺定论,一点点来剖析一下。首先,要理解为什么会出现.............
  • 回答
    这个问题非常有意思,也很实在,触及到了很多现实婚姻的考量。总的来说,不太喜欢的女生,即使聊得来性格合,能不能结婚是个复杂的问题,答案不是绝对的“能”或“不能”,而是取决于你对“喜欢”的定义、你的婚姻观以及你愿意为婚姻付出多少。下面我将从多个角度详细分析:一、 什么是“不太喜欢”?这里的“喜欢”指的是.............
  • 回答
    哥们,你这问题问得挺实在!想送女朋友口红,尤其还是萝卜丁这种热门又有点“个性”的牌子,确实得琢磨琢磨。001号色,也就是常说的“豆沙粉”或者“玫瑰豆沙色”,说实话,它算是个相对安全的选择,但“容易踩雷”嘛,这事儿得分情况说。首先,为啥说它相对安全?1. 颜色定位: 001号色是个很经典的豆沙色系。.............
  • 回答
    听到你不太喜欢计算机和编程,但老师却觉得你“还可以”,并且建议你继续学,这确实是一个让人有些纠结的状况。我完全理解你这种心情,毕竟兴趣是最好的老师,如果不是发自内心的热爱,学习过程可能会比较煎熬。不过,在你下决定之前,咱们不妨从几个方面来仔细梳理一下,看看这条路到底适不适合你,以及老师的建议背后可能.............
  • 回答
    这车啊,说实话,看一眼就觉得有点意思。你可能没怎么见过,因为它不是那种满大街跑的“爆款”。这台车,你仔细看看它的线条,是不是感觉有点复古,又有点硬朗? 它叫路特斯·埃米拉 (Lotus Emira)。先别急着下结论,这车可不简单。它是路特斯这个英国老牌跑车品牌推出的最后一款搭载燃油发动机的车型。也就.............
  • 回答
    明白你的感受,这种“不太介意过去,但特别怕被骗”的心情,其实挺普遍的。你想维护这段关系,但内心的那份不安感就像一根细细的刺,时不时地会扎一下。你说的“不太介意女朋友过去”,这本身就是一种成熟和包容的表现,值得肯定。这意味着你更看重的是当下和你们共同的未来,而不是纠结于那些已经发生、无法改变的事情。然.............
  • 回答
    听到不熟的人评价我的画不好,我感到生气,这让我不禁反思自己是不是有些太敏感了。我理解,每个人都有自己的审美和评判标准,尤其是对于艺术这种非常主观的东西。一个不太熟的人,可能对我的画风、技法或者想要表达的情感并没有深入了解,他们的评价可能只是基于一时的观感,甚至可能带有一些无心之失。从这个角度想,他们.............
  • 回答
    .......

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有