【问题标题】:How to prevent Replay Attack on AspNetBoilerplate framework如何防止对 AspNetBoilerplate 框架的重放攻击
【发布时间】:2021-06-06 03:47:36
【问题描述】:

我在 ASPNET Boilerplate fw 上构建了一个 WebApp,并使用了 HTTPS 协议。 我使用 Burp Suite Community Edition 进行测试,发现与 Replay Attack 相关的风险。根本原因来自基于令牌的设计,用户注销后令牌不会被撤销。那么有什么办法可以克服吗?

测试步骤:

  1. 打开 Burp 套件
  2. 打开浏览器,登录我的WebApp
  3. 在 WebApp 中执行任务,即创建新记录
  4. 转到 Burp,在我的 HTTP 历史记录中的创建新记录操作中找到 HTTP 请求,将其发送到中继器
  5. 注销,关闭浏览器
  6. 进入 Burp/Repeater,重新发送 HTTP 请求并接收 HTTP/1.1 200 OK
  7. 检查数据库:插入相同的记录

谁能给我一些建议?谢谢

【问题讨论】:

    标签: aspnetboilerplate man-in-the-middle


    【解决方案1】:

    我已通过更新安全标记解决了这个问题。这会损害性能,但会解决我的安全风险。如果有人有更好的解决方案,请分享。谢谢

    在AccountController.cs

    var user = await _userManager.FindByNameAsync(User.Identity.Name);
    await _userManager.UpdateSecurityStampAsync(user);
    await HttpContext.SignOutAsync(IdentityServerConstants.DefaultCookieAuthenticationScheme);
    

    在StartUp.cs

    services.Configure<SecurityStampValidatorOptions>(options =>
    {
       //Enables immediate logout, after updating the user's stat.
       options.ValidationInterval = TimeSpan.Zero;
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 2018-09-26
      • 1970-01-01
      相关资源
      最近更新 更多