阅读这个问题
不同的用户获得aspxanonymous同一cookie值
与搜索的解决方案,我开始思考, 如果有可能有人真的偷了一些方式的cookie,然后将其放置在他的浏览器和登录可以说,作为管理员 。
你知道形式的认证如何确保即使cookie被stoled,黑客不使用实际登录?
或者你知道任何其他自动防御机制?
谢谢你在先进。
阅读这个问题
不同的用户获得aspxanonymous同一cookie值
与搜索的解决方案,我开始思考, 如果有可能有人真的偷了一些方式的cookie,然后将其放置在他的浏览器和登录可以说,作为管理员 。
你知道形式的认证如何确保即使cookie被stoled,黑客不使用实际登录?
或者你知道任何其他自动防御机制?
谢谢你在先进。
是否有可能窃取cookie并以管理员身份认证?
是的,它是可能的,如果窗体身份验证cookie被不加密的,有人能破解他们的饼干给他们更高的权限,或者如果SSL是不需要,有人复制另一个人的cookie。 不过,也有可以采取以减轻这些风险的步骤:
在System.Web程序/认证/表单元素:
如果你这样想,你可以通过把某种在会话认证信息,如用户的用户名的哈希值(千万不要以纯文本还是他们的密码的用户名)增加了保护小一点。 这就要求攻击者窃取两个会话cookie和窗体身份验证cookie中。
其中一个cookie可以被窃取的情景发生在公共无线环境。 虽然你和我永远不会在这样的设置操作,可能无法阻止你的客户这样做。
如果攻击者知道你连接到什么安全站点,这个想法是,你的浏览器可以被欺骗,张贴到相同的URL的非安全版本。 在这一点上你的cookie被泄露。
这就是为什么除了httpOnlyCookies
你要指定requireSSL="true"
<httpCookies httpOnlyCookies="true" requireSSL="true" />
我不同意鲁克的评论中,我觉得不公平;
@Aristos我更新我的答案。 但说实话,如果你使用微软开发平台的应用将是固有的不安全性。 - 车的情况下22分钟前
安全不是偶然发生的,它不会发生“开箱的”,至少在我的经验。 直到它的设计是这样的,无论平台或工具,没有什么是安全的。
在很多情况下,用于身份验证的Cookie与服务器上的会话匹配的,所以它不只是可能采取一个cookie,并“登陆”,但是,您可能希望有一个关于跨站请求伪造读,这确实允许一个机制被恶意使用这个cookie:
http://en.wikipedia.org/wiki/Cross-site_request_forgery
有迹象表明,会话ID可以被泄露给攻击者很多方面。 XSS是最常用的攻击劫持会话ID,您应该测试XSS漏洞的应用程序。 。 提高会议的强度的常用方法是检查IP地址。 当用户登录时,记录的IP地址。 检查IP地址为每个请求,如果那么IP改变它可能是一个劫持会话。 这secuirty措施可以阻止合法的请求,但是这是非常不可能的。
不检查的X转发,对于或用户代理,其平凡的攻击者修改这些值。
我还建议让您的web.config文件httpOnlyCookies:
<httpCookies httpOnlyCookies="true"/>
这使得它更难攻击者劫持了JavaScript会话,但它仍然是可能的。
我不知道有问题的cookie的细节,但它一般不好的做法来存储用户名和密码在用户的cookie。 通常你想只在cookie中存储的用户名与其他非敏感信息。 这样,系统会提示用户仅在登录时提供密码。
我工作的这一点,我想出一个主意,那我不知道这是否是100%安全的,但是是一个想法。
我的想法是, 每个用户必须登录页面通过。
如果有人偷了饼干,是无法通过登录页面,而是直接去找里面的纸张。 他无法通过登录页面,因为不知道真正的密码,所以如果他传球,他终将以失败告终。
所以,我把一个额外的会话值,用户已经通过成功的登录页面。 现在,每到关键页面里面,我检查额外会议值,如果发现空,我登录关闭,输入密码再问。
现在我不知道,也许一切所做的一切准备由微软,需要更多的检查。
要检查这个想法我用这个函数,直接让登录的用户。
FormsAuthentication.SetAuthCookie("UserName", false);
我,我都准备好修复和利用第二个安全,是我检查不同的IPS和或登录用户相同的不同的cookie。 我已经对许多检查多想(如果是后面的代理,如果是来自不同的国家,有什么找,我有多少次看到他,等...),但这是一般的想法。
该视频显示正是我试图阻止。 通过使用招我在这里描述,你不能仅仅只设置登录cookie。
只是分享我的想法......