Cross Site Request Forgery是一种利用网站对用户浏览器的信任的恶意攻击。
和其他人要求您将CSRF令牌放在您的html形式中。 同时,Laravel默认情况下是用
Https://learn.microsoft.com/en-us/aspnet/core/security/security/anti-request-forgery-)上遇到了以下注释:
指向另一页(
带有Apache端口代理的Weblate Docker拒绝登录CSRF错误
Permission Denied CSRF verification failed. Request aborted. CSRF failure reason: Origin checking failed - https://weblate.xyz.com does not match any trusted origins.
我试图进行登记册和登录页面,但我得到了这个错误 Forbidenderror:无效的CSRF令牌, 我尝试了所有修复它,但仍然有同样的错误,有人可以帮我吗?这是我的...
为什么CSRF token应该在meta标签和cookie中?
需要使用 将 CSRF 令牌名称和值放入 标记内,如下所示: 例如: 需要使用 将 CSRF 令牌名称和值放入 标签中,如下所示: 例如: <meta content="authenticity_token" name="csrf-param" /> <meta content="4sWPhTlJAmt1IcyNq1FCyivsAVhHqjiDCKRXOgOQock=" name="csrf-token" /> 我读过有关将 CSRF 值保留在 cookie 中的概念,但没有找到为什么要保留在 标签内。 为了防止 CSRF,您需要随请求提交一个值,该值不能由恶意站点发送。身份验证 cookie 不适合,因为如果攻击者可以使浏览器向受害站点发送请求,则 cookie 将自动提交。 例如,通过www.evil.com上包含的JavaScript提交表单来攻击www.example.com上的用户会话: <form method="post" action="https://www.example.com/executeAction"> <input type="hidden" name="action" value="deleteAllUsers"> </form> <script>document.forms[0].submit()</script> 在页面内存储反 CRSF 令牌是 OWASP 推荐的防止其他网站提交表单的解决方案,因为由于 同源策略 阻止 JavaScript,www.evil.com 无法读取用户会话中的随机令牌在www.evil.com阅读www.example.com的页面内容。 这些令牌可以存储在页面内的任何位置。最常见的是,它位于隐藏的表单字段中,但它们也可以存储在HTML 5数据属性中。看起来使用 meta 标签只是另一种存储方式,JavaScript 可以将其包含在页面提交的任何表单中。 CSRF 令牌通常作为隐藏表单字段出现在表单中。仅当您使用 JavaScript 时,将它们放入元标记中才有意义。 JavaScript 可以从元标记中读取令牌并将其发布到操作中。 您不想将 CSRF 令牌放入 Cookie 中,因为无论其来源如何,都会针对从 Web 浏览器向特定网站发出的每个请求发送 Cookie。唯一的例外是安全 cookies,它应该遵循同源策略。 这是因为没有什么可以阻止违规网站将数据发布到合法网站,其中可能包括您的身份验证票证和 CSRF 令牌。想象一下这个场景...取自 ASP.NET 用户使用表单身份验证登录 www.siteA.com。 服务器对用户进行身份验证。服务器的响应包含身份验证 cookie。 用户如果不注销,就会访问恶意网站。该恶意网站包含以下 HTML 表单: <h1>You Are a Winner!</h1> <form action="http://siteA.com/api/account" method="post"> <input type="hidden" name="Transaction" value="withdraw" /> <input type="hidden" name="Amount" value="1000000" /> <input type="submit" value="Click Me"/> </form> 请注意,表单操作会发布到易受攻击的网站,而不是恶意网站。这就是CSRF的“跨站”部分。 用户单击提交按钮。浏览器在请求中包含身份验证 cookie。 该请求在具有用户身份验证上下文的服务器上运行,并且可以执行允许经过身份验证的用户执行的任何操作。 基本上,当 siteA.com 收到 CSRF 攻击时,它应该将 cookie 中的 CSRF 令牌与元标记中的 CSRF 令牌进行匹配。合法请求将包括两者,但是,伪造攻击将仅包括 cookie 中指定的 CSRF 令牌。 我能想到的唯一选择是让这些数据可以通过 JavaScript 访问。当然,以防 cookie 仅是 http。
我们在 Flask 框架上运行 python 应用程序。 当表单执行 POST 时,我们按照指示实现了 csrf 令牌。 我们继续收到“400 错误请求:推荐人与主机不匹配”
我正在尝试在我们的项目上设置 CSRF,使用 https://www.npmjs.com/package/csrf https://www.npmjs.com/package/fastify-cookie 在 NestJS 中 API 生成 cookie 来响应 AJAX 请求并...
Symfony 7.2 CSRF 保护在使用 Turbo-ux 时不会为我的表单生成令牌
我有一个由makerBundle命令make:crud生成的_form.html.twig部分模板。 我还有一个完整的页面模板 new.html.twig,其中我将部分模板包含在涡轮框架中
CookieCsrfTokenRepository 允许客户端创建自己的 Csrf 令牌
CookieCsrfTokenRepository 设置一个 cookie,并且在后续请求中,它只是将来自客户端的 cookie 值与来自标头的 cookie 值进行比较。 它不记得是否还在...
从 6.3 更新到 6.4 后,Symfony CSRF 令牌在测试中无效
我在 symfony 6.3.x 上的应用程序和测试都没有问题。 刚刚将 symfony 6.3 升级到 6.4 后,我的应用程序仍然可以工作(正常),但我的测试被破坏了?? CSRF 令牌无效。 在...
Flask-Admin 中使用 JWT 身份验证时“标头中缺少 CSRF 令牌”
我正在编写一个 Flask 后端来提供 RESTful API,并通过 JWT 进行身份验证。 我使用 Flask-Admin 作为管理员,为了使用单一身份验证方法,我想使用 JWT