Csrf4

跨站请求伪造。

由于你访问同一个域名下的网站,都会带有相同的cookie,当你点击恶意链接的时候,恶意链接网站可能会利用获取到的你的cookie发送改密码的包,你就中招了。

克隆没空间,原理的话就是利用网站中获取的cookie发包。

这东西还得登录状态,而且还给你限制长度,气死我了。前两个终于搞完了,让我康康最后一个

核心原因是 攻击者无法跨域"主动获取"用户的有效Cookie,只能"被动利用"用户登录后浏览器自动携带的Cookie,具体逻辑如下:

  1. 浏览器的"同源策略"阻止了Cookie窃取

浏览器有严格的同源策略(同一域名、协议、端口),攻击者的恶意页面(如 attacker.com )无法跨域读取用户在目标网站(如 target.com )的Cookie(比如登录后的Session ID)。也就是说,攻击者根本"拿不到"用户的Cookie,只能等用户自己触发请求时,让浏览器自动带上。

  1. "登录状态"="浏览器存有有效Cookie"

用户登录目标网站后,网站会在用户浏览器中种下 有效Cookie(包含身份验证信息,如Session ID),且该Cookie仅在用户访问该网站时生效。若用户未登录,浏览器中没有这个有效Cookie,即使攻击者发包,请求也会因"缺乏身份凭证"被服务器拒绝,攻击无法成功。

  1. "自动发包"的前提是"Cookie已在浏览器中"

你说的"自动获取Cookie发包",本质是:用户处于登录状态(浏览器里有有效Cookie)→ 点击恶意链接/访问恶意页面 → 浏览器在发送请求时,自动将目标网站的Cookie附加到请求头中(这是浏览器的默认行为,无需攻击者主动"获取")→ 服务器验证Cookie有效,从而执行恶意操作。

简单说:不是攻击者"主动拿到Cookie",而是用户登录后,浏览器里"自带了有效Cookie",攻击者只是借用户的手,让这个Cookie"被动参与"了请求------没有登录状态,就没有这个"能让服务器认账"的有效Cookie,发包也没用。

在没登陆的时候,前端有个奇怪的TOKEN,对比发现和抓包的token一模一样,所以可以利用这一点。

我想问的是这个talking是不是算法根据请求自动刷新然后对比的

你说的"token"(令牌)的核心机制就是通过算法自动刷新并对比的,具体流程是这样的:

  1. 后端生成与刷新逻辑

后端会通过加密算法(如HMAC、基于用户信息+时间戳的哈希算法,或JWT的签名算法)生成动态token。

  • 当用户发起请求(如登录、操作敏感接口)时,前端携带当前token,后端会:

  • 对比验证:检查请求中的token是否与后端"预期的有效token"匹配(比如验证签名、有效期、用户身份关联等)。

  • 自动刷新:验证通过后,后端会生成新的token,并返回给前端。下次请求时,前端需携带这个新token,以此循环,实现"每次请求自动刷新token"。

  1. 对比的核心作用

对比的目的是确保请求的合法性:

  • 防止"旧token被重复使用"(比如攻击者截获旧token后伪造请求,后端发现token已过期或非最新,就会拒绝)。

  • 验证token是否被篡改(比如通过签名算法,后端能判断token在传输过程中是否被修改)。

举个例子,登录场景中:

  • 你登录后,后端给你一个tokenA;

  • 你发起"修改密码"请求时,携带tokenA,后端验证tokenA有效后,返回新的tokenB;

  • 下次请求需携带tokenB,后端再验证并生成tokenC......以此类推。

不安全的前端示意图。

最后一题是我们修改的一瞬间,它的token就在前端生成了,所以相当于在生成的时候我们可以用这个token为所欲为,前提是他在登录状态。

相关推荐
white-persist3 天前
CSRF 漏洞全解析:从原理到实战
网络·python·安全·web安全·网络安全·系统安全·csrf
携欢6 天前
PortSwigger靶场之 CSRF where token is not tied to user session通关秘籍
前端·csrf
携欢6 天前
PortSwigger靶场之CSRF where token validation depends on request method通关秘籍
安全·web安全·csrf
携欢7 天前
POrtSwigger靶场之CSRF where token validation depends on token being present通关秘籍
前端·csrf
唐古乌梁海19 天前
Flask项目中CSRF Token实现的解决方案
python·flask·csrf
汉堡包00124 天前
【靶场练习】--DVWA第三关CSRF(跨站请求伪造)全难度分析
前端·安全·csrf
余防25 天前
CSRF跨站请求伪造
前端·安全·web安全·csrf
修炼果1 个月前
为什么使用 Redis 存储Oauth的state 参数,可有效防止 CSRF 攻击
数据库·redis·csrf
emma羊羊1 个月前
【CSRF】防御
前端·网络安全·csrf