代码之家  ›  专栏  ›  技术社区  ›  Aristos

某个黑客能从一个用户那里窃取cookie并用这个名字登录到一个网站吗?

  •  26
  • Aristos  · 技术社区  · 16 年前

    Different users get the same cookie - value in .ASPXANONYMOUS

    寻找解决办法,我开始想, 如果有人真的能以某种方式窃取cookie,然后将其放在浏览器上并以管理员身份登录

    6 回复  |  直到 6 年前
        1
  •  27
  •   Venemo    15 年前

    作为管理员进行身份验证?

    在system.web/authentication/forms元素上:

    1. requireSSL=真。这要求cookie只能通过SSL传输
    2. slidingExpiration=false。如果为true,则可以重新激活过期的票证。
    3. cookieless=错误。不要在您试图强制执行安全性的环境中使用无cookieless会话。
    4. enableCrossAppRedirects=false。如果为false,则不允许跨应用处理cookie。
    5. 保护=全部。使用machine.config或web.config中指定的机器密钥对表单Auth cookie进行加密和散列。此功能将阻止某人入侵自己的cookie,因为此设置告诉系统生成cookie的签名,并且在每个身份验证请求中,将签名与传递的cookie进行比较。

    如果需要,您可以在会话中添加一些身份验证信息,例如用户用户名的散列(而不是纯文本中的用户名或密码),从而添加一点保护。这将要求攻击者同时窃取会话cookie和表单身份验证cookie。

        2
  •  13
  •   Michał Powaga Mohamed Aslam    12 年前

    cookie可能被盗的场景发生在公共无线环境中。虽然您或我永远不会在这样的环境下操作,但可能无法阻止您的客户这样做。

    如果攻击者知道您连接到哪个安全站点,那么您的浏览器可能会被诱骗发布到同一url的非安全版本。在那一点上,你的饼干被破坏了。

    这就是为什么除了 httpOnlyCookies 您需要指定 requireSSL="true"

    <httpCookies httpOnlyCookies="true" requireSSL="true" />
    

    我不同意鲁克的评论,因为我觉得这不公平;

    @亚里士多德我更新了我的答案。但老实说,如果您使用的是Microsoft开发平台,那么您的应用程序本身就是不安全的。22分钟前的车

        3
  •  2
  •   rook    16 年前

    有许多方法可以将会话id泄漏给攻击者。XSS是劫持会话ID最常用的攻击,您应该 test for XSS vulnerabilities 在您的应用程序中。提高会话强度的常用方法是检查IP地址。当用户登录时,记录ip地址。检查每个请求的IP地址,如果IP发生了变化,那么它可能是一个被劫持的会话。这种安全措施可能会阻止合法的请求,但事实并非如此 非常

    <httpCookies httpOnlyCookies="true"/>
    

    这使得攻击者更难用javascript劫持会话,但仍然有可能。

        4
  •  1
  •   Brian Scott    16 年前

    我不知道有问题的cookie的细节,但是在用户cookie中同时存储用户名和密码通常是不好的做法。您通常只希望将用户名与其他非敏感信息一起存储在cookie中。这样,只有在登录时才会提示用户提供密码。

        5
  •  1
  •   Aristos    15 年前

    我正在研究这个,我想出一个主意,我不确定它是否100%安全,但这是一个想法。

    我的想法是
    如果有人偷了cookie,不是通过登录页面,而是直接进入里面的其他页面。

    因此,我放置了一个额外的session值,即用户已成功通过登录页。

    现在我不知道,也许所有的一切都由微软准备好了,需要多检查一下。

    为了验证这个想法,我使用了这个直接让用户登录的函数。

    FormsAuthentication.SetAuthCookie("UserName", false);
    

    我的第二个安全,我已经准备好修复和使用,是我检查不同的IP和/或不同的cookie从同一登录用户。我已经做了很多思考,很多检查(如果是背后的代理,如果是来自不同的国家,寻找什么,我见过他多少次,等等…),但这是一般的想法。

    This video 准确地显示我试图阻止的。通过使用我在这里描述的技巧,您不能只设置登录cookie。