如何防止对AspNetBoilerplate框架的重放攻击



我在ASPNET Boilerplate fw上构建了一个WebApp,并使用了HTTPS协议。我使用了Burp Suite社区版进行测试,发现了与重播攻击相关的风险。根本原因是基于令牌的设计,用户注销后令牌不会被吊销。那么,有什么可以绕过它的吗?

测试步骤:

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

有人能给我一些建议吗?感谢

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

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;
});

相关内容

  • 没有找到相关文章

最新更新