繁体   English   中英

保护asp.net Webform Cookie无效

[英]Securing asp.net webform cookie not working

我想以某种方式保护cookie,即使登录cookie被盗了,它现在仍然可以正常工作,

我正在使用Web形式.net Framework 4.0中的默认asp.net成员身份来保护网站上的某些页面,因此只有注册用户才能在正确登录后访问页面。 但是,如果中间人偷了cookie,那么他们仍然可以登录。

我如何保护cookie不被盗

我确实从我身边跟随

  • 我现在在网站上使用https
  • 其次,我在web.config中添加了以下代码<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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM