在Session ASP .NET MVC中存储密码,如纯文本

时间:2013-10-17 23:20:53

标签: c# .net asp.net-mvc security session

今天我有了这个问题......

当我们在ASP .NET MVC的Session中存储像纯文本这样的密码时,这是一个大问题吗?

I know that Session also uses a cookie, but the cookie itself only contains a key. The server uses the key to obtain a dictionary of key/value pairs unique to that session, which stay on the server (or get serialized to the DB, depending on how it's configured).

那么有些黑客可能会以某种方式获得它吗?

我需要明确的答案。如果有可能我需要一些解释 怎么做。我需要它来看看这种方法可能存在风险。

谢谢!

2 个答案:

答案 0 :(得分:2)

我认为密码存储在会话中,因为应用程序将其用于某些事情。黑客不太可能能够读取密码(没有拥有Web服务器),但是可以攻击会话并将其接管,然后通过应用程序使用密码。

我可以立即想到的两次攻击:

  1. 会话固定攻击。黑客使用您的应用程序启动自己的会话,记下会话ID,然后准备一个特制的电子邮件,该电子邮件在打开时将导致用户使用该会话ID访问您的网站。当用户登录时,黑客将有权访问同一会话,因为他们有共同的ID。

  2. 蛮力。会话ID是120位数。黑客可以使用随机会话ID持续轮询您的网站,直到找到有效的网站。防止这种形式的攻击是很困难的,因为ASP不会区分伪造的会话ID和已过期的真实会话ID。

答案 1 :(得分:2)

绝对没有安全感。攻击者可以通过多种方法窃取用户会话,例如会话固定,会话侧面攻击,跨站点脚本。您可以从Session hijacking文章开始研究。