[英]Securing asp.net webform cookie not working
我想以某种方式保护cookie,即使登录cookie被盗了,它现在仍然可以正常工作,
我正在使用Web形式.net Framework 4.0中的默认asp.net成员身份来保护网站上的某些页面,因此只有注册用户才能在正确登录后访问页面。 但是,如果中间人偷了cookie,那么他们仍然可以登录。
我如何保护cookie不被盗
我确实从我身边跟随
<httpCookies httpOnlyCookies="true" requireSSL="true" />
即使在收到这些消息后,我也可以通过在不同的浏览器中添加cookie名称和cookie值来登录安全的网站,而无需实际使用登录表单。 如果我采取了上述两个步骤,那么为什么不对我的cookie进行加密,以使即使cookie被盗也无法正常工作。
您目前在asp.net中使用了最好的cookie保护。 httpOnlyCookies
设置可防止您站点上的任何(可能是注入的)JavaScript访问令牌,而requireSSL
设置可防止浏览器通过非https
连接发送令牌。
这通常是相当不错的,比大多数网站都好或更好。
可以中间人进行连接或以其他方式可以访问您计算机上的cookie值的任何人仍然可以访问您的站点,但是对此没有标准的有效防御措施。
大概是为了复制cookie,您访问了开发人员工具,并直接复制了该值。 大多数攻击者在没有危害最终用户机器的情况下就无法做到这一点,例如利用恶意浏览器扩展。 您的httpOnly
标志阻止他们使用脚本执行此操作。
同样,您可能已经安装了诸如Fiddler之类的代理来检查流量,或者一家企业可能具有用于过滤内容的http代理,但是您的计算机上将安装一个受信任的证书以允许进行此检查。 没有它,浏览器将不允许页面加载。
您可以做一些事情来进一步改善它,您可以看一下HSTS,但是如果您弄错了它,将会带来严重的后果。 TLS 1.3还包含额外的保护,但是它是全新的,因此对其的支持是非常可变的。
向您的域发出的任何常规ajax请求仍然会发送cookie,但是javascript无法访问cookie的内容。 同样,也可以将使用Fetch API的框架配置为发送凭据。 需要您的身份验证cookie发送到不同的域的任何第三方插件是做错了什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.