赏金技巧精讲:当CSRFToken只在Cookie里重复时,如何优雅绕过

admin 2026-07-16 04:31:50 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文介绍了一种绕过双重提交CSRFToken校验的技巧。核心思路是利用HTTP响应头注入在受害者浏览器中设置一个攻击者控制的假Token,然后通过CSRF请求使服务器校验通过。文章详细演示了从确认漏洞、寻找写入点、构造Cookie注入器到组装最终PoC的完整攻击流程。该手法利用了校验逻辑的信任缺陷,而非直接破解Token随机性。 综合评分: 88 文章分类: 渗透测试,红队,内网渗透,WEB安全,漏洞POC


cover_image

赏金技巧精讲:当CSRF Token只在Cookie里重复时,如何优雅绕过

原创

升斗安全XiuXiu 升斗安全XiuXiu

升斗安全

2026年7月12日 00:02 广东

在小说阅读器读本章

去阅读

【文章说明】

  • 目的:本文内容仅为网络安全技术研究与教育目的而创作。
  • 红线:严禁将本文知识用于任何未授权的非法活动。使用者必须遵守《网络安全法》等相关法律。
  • 责任:任何对本文技术的滥用所引发的后果自负,与本公众号及作者无关。
  • 免责:内容仅供参考,作者不对其准确性、完整性作任何担保。

阅读即代表您同意以上条款。

作为一名摸爬滚打许久的赏金猎人,我最享受的,就是那种“把不可能变为可能”的瞬间。今天要聊的,就是一个看着防护到位,实则不堪一击的经典CSRF漏洞案例。

不知道你有没有遇到过这样一种情况:你盯上一个目标,发现它用了CSRF Token,但翻遍整个交互过程,也没找到服务端“记住”这个Token的证据。这是怎么回事?

其实,有些开发者为图省事,会搞一种叫“双重提交”的校验机制。逻辑很简单:你发请求时,Cookie里带一个Token,请求体里也带一个同样的Token,服务器只比对这俩值是否一致,根本不关心这Token是谁发的、是否有效。就像古代调兵,只看两块虎符能不能对上,至于这虎符是不是伪造的,根本不查。

请求看起来大概长这样:

POST /email/change HTTP/1.1Host: vulnerable-website.comCookie: session=1DQGdzYbOJQzLP7460tfyiv3do7MjyPw; csrf=R8ov2YBfTYmzFyjit8o2hKBuoIjXXVpacsrf=R8ov2YBfTYmzFyjit8o2hKBuoIjXXVpa&[email protected]

看到问题的关键了吗?在这种设计下,只要网站存在任意一个可以操控Cookie写入的入口,我们就能反客为主。因为攻击者根本不用去偷别人的Token,他可以凭空捏造一个,然后想办法把这个假Token种进受害者的浏览器里。等受害者触发攻击请求时,Cookie里的假Token和请求里的假Token自然能对上,防御瞬间崩塌。

下面,我带你一步步把这个思路变成现实,全程跟练一遍,感觉会很爽。

第一步:确认漏洞

打开Burp的浏览器,登录你的测试账号,试着改一下邮箱。在代理历史里抓到那个改邮箱的请求,扔进Repeater里玩一下。你会发现,只要你修改请求里的csrf参数,同时把Cookie里的csrf值改成一样的,服务器就照单全收。这下实锤了,就是“双重提交”的校验逻辑。

第二步:寻找写入点

现在需要找一个能往受害者浏览器里写Cookie的功能。随便用一下站内的搜索功能,同样把请求发到Repeater观察。如果响应的Set-Cookie头里恰好回显了你的搜索词,那这个无CSRF防护的搜索功能,就成了我们种植恶意Cookie的完美后门。

第三步:打造Cookie注入器

我们要构造一个特殊的URL,只要受害者访问它,就能神不知鬼不觉地把我们捏造的Cookie种进去。链接大概是这样:

/?search=test%0d%0aSet-Cookie:%20csrf=fake%3b%20SameSite=None

这里用了回车换行符(%0d%0a)进行HTTP响应头注入,强制服务器在响应中追加一个Set-Cookie指令。csrf=fake就是我们造的假令牌,“密码”就设成“fake”。

第四步:组装最终武器

现在是拼装PoC的时候了。思路就是:先让受害者访问上面的链接种下假Cookie,然后立即触发修改邮箱的表单。PoC里的核心攻击代码可以这样写:

<img src="https://目标地址.com/?search=test%0d%0aSet-Cookie:%20csrf=fake%3b%20SameSite=None"&nbsp;onerror="document.forms[0].submit();"/>

当浏览器加载这个不存在的图片(标签)时,会去请求那个带毒的URL种下Cookie。加载失败触发onerror事件,紧接着就自动提交我们预先准备好的、同样携带csrf=fake的修改邮箱表单,一气呵成。

最后,把攻击载荷里的目标邮箱改成你要劫持的地址,存储并交付给受害者,坐等收网就行。

这种攻击手法之所以巧妙,就在于它没有正面硬刚Token的随机性,而是利用了校验逻辑本身的信任缺陷。作为赏金猎人,这种跳出常规的思路,往往能让我们在看似铜墙铁壁的防护中,找到那条通往宝藏的缝隙。

如果今天这个技巧让你有所启发,不妨点个“赞”和“在看”,分享给身边的猎人伙伴们。还没关注的朋友,赶紧点个关注,别错过更多实战挖洞的硬核干货。让我们一起在技术探索的路上,走得更远!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:升斗安全 升斗安全XiuXiu 升斗安全XiuXiu《赏金技巧精讲:当CSRF Token只在Cookie里重复时,如何优雅绕过》

评论:0   参与:  0