【问题标题】:XSRF-Token in LaravelLaravel 中的 XSRF 令牌
【发布时间】:2020-10-29 19:22:40
【问题描述】:

我在登录请求时在 laravel 中实现登录,有两个令牌在正文中生成一个,另一个在标头 cookie 中。

当我删除正文令牌的值时,它会显示页面过期错误,但是当我删除 xsrf-token 的值时,它不会显示任何错误并且登录成功

POST /login HTTP/1.1
Host: <host>
Content-Length: 513
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: <Origin Address>
Content-Type: application/x-www-form-urlencoded
User-Agent:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en-GB,en-US;q=0.9,en;q=0.8
Cookie: XSRF-TOKEN=<token>; laravel_session=<session token>
Connection: close

_token=<token>&userName=<userName>&password=<Password>

任何人都可以帮我解释这两个令牌。以及为什么使用 burpusite 工具删除 xsrf-token 值时页面没有过期。

【问题讨论】:

  • 你说的是csrf-token作为页面&lt;meta&gt;元素&lt;head&gt;吗?
  • 不,我说的是 xsrf-token,它会在我页面的每个请求时在标头中添加 cookie

标签: php laravel validation header csrf


【解决方案1】:

laravel document中所述:

Laravel 使保护您的应用程序免受跨站点攻击变得容易 请求伪造(CSRF)攻击。跨站点请求伪造是一种 执行未经授权的命令的恶意利用类型 代表经过身份验证的用户。

还有:

Laravel 将当前的 CSRF 令牌存储在加密的 XSRF-TOKEN 中 包含在框架生成的每个响应中的 cookie。 您可以使用 cookie 值来设置 X-XSRF-TOKEN 请求标头。 这个 cookie 主要是为了方便而发送的,因为一些 JavaScript 框架和库,如 Angular 和 Axios,会自动将其值放在同源请求的 X-XSRF-TOKEN 标头中。

【讨论】:

    猜你喜欢
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    • 2020-11-09
    • 2016-11-16
    • 2015-07-04
    相关资源
    最近更新 更多