gpt4 book ai didi

c# - 如何使用防伪 token 识别帖子数据被黑客入​​侵

转载 作者:太空狗 更新时间:2023-10-29 21:43:01 25 4
gpt4 key购买 nike

我知道 ASP.NET MVC 中的防伪 token 是如何工作的。但仍然不清楚一些场景。我在下面提到的一个。

提交包含以下信息的帖子请求

  • cookie token (防伪 token )
  • 表单数据(名字和姓氏)
  • 表单输入隐藏 token (antiforgerytoken)

在到达服务器之前,黑客修改了表单数据(名字和姓氏)而 token 信息保持不变。

在这种情况下,我们如何保证提交的数据不加任何修改地安全到达服务器

其实这个问题是面试官问的。我和我的同事讨论过,我也在谷歌上搜索过。由于我找不到关于此的清晰信息,所以我想在这里提问。

我不确定这是否是一个有效的问题。如果是,任何帮助将不胜感激

最佳答案

这里混合了多种东西。混淆是围绕不同保护的目的,所以让我试着弄清楚这一点。

CSRF 和防伪 token

基本威胁如下。受害者用户登录到受害者网站 victim.com。同时(比如在另一个浏览器选项卡中)他访问了一个恶意网站 malicious.com,该网站想要利用 victim.com 中的 CSRF。为此,malicious.com 让用户将所需的参数发布到 victim.com 以调用显然受害者用户不想执行的特定功能。这是 CSRF 的基本案例,利用现有的用户 session ,malicious.com 通过受害者用户在 victim.com 上执行了一些操作。

这是被阻止的,例如,如果使用了 antiforgerytoken,因为 malicious.com 将无法向 victim.com 发送正确的 token ,因此请求将被拒绝。

请注意,这与合法的请求内容无关。

请求的完整性

另一个问题是确保请求在发送时被接收,即。数据是一样的。这通常通过使用 HTTPS 来实现,HTTPS 提供消息完整性和加密(以及其他)。因此,如果使用 HTTPS,则不可能在传输过程中更改数据。

当然,如果攻击者控制客户端或服务器(更准确地说,TLS 端点,并不总是服务器),即。 TLS channel 之外的任何内容,那么攻击者就可以修改数据。但这意味着要控制客户。例如,如果您在客户端上运行本地代理(Fiddler、Burp、ZAP 代理等),您可以执行此操作——然后您可以更改请求中的任何数据,这就是渗透测试人员的工作方式。但是,没有这种控制级别的攻击者将无法执行此操作。

如果没有 HTTPS,请求(顺便说一句还有响应)完整性和加密是难以解决的问题。解决方案 HTTPS。 :)

关于c# - 如何使用防伪 token 识别帖子数据被黑客入​​侵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49082407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com