首页 > 解决方案 > 在 ASP.NET Identity 应用程序中留下后门的最佳方法是什么?

问题描述

我是公司内部客户端系统的开发人员,在某些情况下我必须使用用户帐户登录系统来检查错误或其他东西。由于密码是加密的,我不能只在数据库中查找它们并获得访问权限。

我发明的最好的东西是使用一个查询参数标志,比如?heyThisIsAdmin=soJustLetMeInWithoutAnyPasswords它允许我输入任何密码并登录。

但我很理解安全问题。你能告诉我一些实现我想要但更强大和安全的方法吗?

标签: asp.netasp.net-mvcsecurityasp.net-identity.net-security

解决方案


正如您所说,您提出的解决方案根本不安全,因为任何阅读代码或知道秘密的人都会使用魔术查询字符串来使用这种超能力。

更好的解决方案可能是在客户端平台上为自己创建一个帐户,但上面有一个特殊标志,允许您模拟用户帐户(或只是查看他们看到的内容)。这种机制当然需要一些发展。

请注意,即使使用此解决方案,该技巧也只能在您已经登录后才能完成。为了提高安全性,您还可能需要第二个身份验证因素(电子邮件、短信、TOTP...)

您需要在这里看到您想要实现的目标,将其作为应用程序的一项功能,而不是后门。您应该能够在不暴露您的应用程序的情况下向任何人解释它是如何工作的。因为它的力量在于:

  • 你的密码
  • 你的第二个因素(如果有的话)
  • 您在帐户上设置了标志的事实

推荐阅读