浏览器中因cookie设置HttpOnly标志引起的安全问题

1、简介如果cookie设置了HttpOnly标志,可以在发生XSS时避免JavaScript读取cookie,这也是HttpOnly被引入的原因。但这种方式能防住攻击者吗?HttpOnly标志可以
防止cookie被“读取”,
那么能不能防止被“写”呢?答案是否定的,那么这
里面就有
文章可做了,因为已证明有些浏览器的HttpOnly标记可以被JavaScript写入覆盖,而这种覆盖可能被攻击者利用发动session fixation攻击。本文主题就是讨论这种技术。498)this.width=498;' onmousewheel = 'javascript:return big(this)' border="0" alt="浏览器中因cookie设置HttpOnly标志引起的安全问题" src="http://s9.51cto.com/wyfs02/M02/24/12/wKioL1NLf3exhfqOAAEHYZITmUA763.jpg" width="512" height="256" />2、用JavaScript覆盖cookie中的HttpOnly标志当JavaScript可以覆盖cookie中的HttpOnly标志时,攻击者如果发现网站的XSS漏洞,就可以利用HttpOnly cookie发动session fixation攻击(更多关于session fixation攻击的内容可以参考笔者之前的文章[1])。session fixation攻击的后果是攻击者可以冒充受害者,因为其知道受害者的session ID。这里假设当成功登录应用后session不会重新生成。现实也确实是这样的,但浏览器不应该允许JavaScript覆盖HttpOnly标志,因为这种覆盖可能与某些应用程序登录成功后不会重新生成会话这一特性结合,发动session fixation攻击。那么登录成功后如果重新生成session ID的话安全性是怎么样的呢?还能被攻击者利用吗?登录之后,攻击者通过设置用户的session为攻击者正在使用的session,将用户切换为攻击者自己的帐户。受害者以为其正在使用自己的帐户,实际上一些敏感信息已经泄露给攻击者了。3、允许JavaScript覆盖HttpOnly cookie的浏览器经笔者证实,以下浏览器允许JavaScript覆盖HttpOnly cookies:SafariOpera MobileOpera MiniBlackBerry browserKonqueror browser该问题已经(于2014年2月14日)提交给相应的厂商。IE、Firefix和Opera(标准安装版本)不容易受到上述攻击影响。4、厂商的回复Opera公司已经确认该问题在Opera Mobile和Opera Mini中存在,决定在Opera Mini中修复该问题(修复日期还未确定)。尽管Opera Mobile当前在Google Play中可以下载,但Opera公司
认为该版本已经过时,因此决定不对其进行修改(他们建议替换为Opera for Android版本,该版本可以防止JavaScript覆盖HttpOnly cookie)。黑莓公司回复说已经宣布于2014年4月后不再对PlayBook Tablet的操作系统(笔者当时测试时使用的系统)进行支持,因此不会修复该问题。
但是由于该问题是在支持结束声明之
前提交的,他们决定将我加入到黑莓安全事件响应小组的
感谢名单中(根据他们的规定,笔者的名字会在2014年4月底才会被加入)[2]。Konqueror确认了该问题,但可能不会去修复。该bug的信息可以在KDE Bugtracking系统中找到[3]。该问题两个月前提交给了苹果公司,但从未收到任何反馈。5、漏洞利用以下是部分示例代码:<?setcookie('cookie1',++$_COOKIE['cookie1'],time()+2592000,'/','',0,1); setcookie('cookie2',++$_COOKIE['cookie2'],time()+2592000,'/','',0,0); ?><HTML><?print"Cookie1:".$_COOKIE['cookie1']."<br>"; print"Cookie2:".$_COOKIE['cookie2']; ?><script>alert(document.cookie);</script><script>document.cookie='cookie1=100;expires=Thu,2Aug201420:00:00UTC;path=/';</script></HTML>过程如下:运行这段代码,之后可以看到cookie1(设置了HttpOnly标志)已经被JavaScript写入覆盖了。6、总结HttpOnly标志的引入是为了防止设置了该标志的cookie被JavaScript读取,但事实证明设置了这种cookie在某些浏览器中却能被JavaScript覆盖,可被攻击者利用来发动session fixation攻击。该问题被
提出后,得到了相关厂商的响应。最后,本文给出了一段利用演示代码。【编辑推荐】漫谈Cookie安全如何保护隐私之浏览器Cookie的防范不使用Cookie的“Cookie”技术【责任编辑:蓝雨泪 TEL:(010)68476606】 原文:浏览器中因cookie设置HttpOnly标志引起的安全问题 返回网络安全首页

时间: 2024-05-25 07:21:07

浏览器中因cookie设置HttpOnly标志引起的安全问题的相关文章

Extjs 项目中常用的小技巧,也许你用得着(4)---Extjs 中的cookie设置

1.ExtJs设置cookie两种方式 其一:设置cookie如下 saveacct=isForm.getForm().findField('itemselector').getValue(); Ext.util.Cookies.set('saveacct',saveacct);  取cookie中数据如下 var validStatus = Ext.util.Cookies.get("saveacct"); alert(validStatus);    其二:设置cookie var

2345智能浏览器中九宫格个性化设置

2345智能浏览器九宫格中的每个小窗体显示的网址,都可以进行个性化定制.可以单击 对某一网页进行编辑 .如下图所示: 可以修改你想要的网站地址: 修改完成后点击"确定"按钮. 完成后返回页面,可以看到小窗体已经修改成功,如下图所示:

如何通过javascript来获取浏览器中Language的设置?

问题描述 例如Tools---InternetOptions--languages--Add(japanease[ja-JP])下面是我的代码,可是怎么我都无法获取到ja-JP得值,谢谢大家!<html><body><scripttype="text/javascript">document.write("<p>BrowserLanguage:")document.write(navigator.browserLang

火狐浏览器Firefox跨域设置cookie漏洞 绿盟科技发布安全威胁通告

火狐浏览器不愧是天字第一号"坑",先后坑过暗网.朝鲜红星.Tor洋葱头(见文末相关文章),忘记是国外的哪个CTO曾经说过,火狐浏览器几乎是每个月都要来一回,这叫啥?这是要跟IE抢饭碗啊.今天火狐浏览器cookie又出现问题了,绿盟科技对该漏洞做了简要分析,通告全文如下: 2016年12月6日,insert-script.blogspot.gr网站发布了一条关于Firefox跨域设置cookie的消息,该漏洞的成因是火狐浏览器允许元标签对浏览器cookie进行设置.成功利用该漏洞会使得目

UC浏览器中如何设置迅雷为默认下载工具

  如何设置迅雷为默认下载工具?很多用户都不是很习惯浏览器自带的下载器,比如使用UC浏览器浏览网页下载软件,通常都是默认用自带的下载工具下载,可是在下载比较大的软件时十分方便,那么我们怎么设置迅雷为UC浏览器默认的下载工具呢?方法很简单. UC浏览器中如何设置迅雷为默认下载工具 步骤一:首先打开UC浏览器,点击浏览器左上角的头像,选择"设置"按钮; 步骤二:打开UC浏览器设置界面后,在窗口中选择"常规"; 步骤三:在"常规"界面的最下方,有个下载

在IE浏览器中正常显示的字体效果设置

  例如,我们使用以下的字体设置(先别管合理不合理) font-family:Verdana,Tahoma,Arial,5b8b4f53(宋体),sans-serif 让后分别放在IE6.IE7.IE8.Firefox.chrome等主流浏览器中测试,发现在IE7和IE8浏览器中显示英文和数字时字体有区别(见下图) "Aisleep"和"88"感觉上面有明显的锯齿而下面的感觉粗厚平滑一些. 大家知道,这是因为IE7/IE8浏览器中[属性] > [高级]选项卡

excel图表中如何设置数据标志的显示位置

  如何在excel图表中设置数据标志的显示位置 方法/步骤 为方便演示 制作如下excel表格 并生成内嵌柱状图 双击柱内如 弹出数据系列格式 数据标签设置为值 设置完后 值将显示在图标上 如下图所示 双击数据标签 弹出数据标志格式 按如下设置 标签在标记内 显示效果如下 标签值得是数字 标记指的是柱 这是标签居中的效果 这是标签在轴内侧的效果 这是标签在数据标记外的效果 注意事项 标签指的是数字 标记指的是柱 以上就是excel图表中如何设置数据标志的显示位置方法介绍,希望大家喜欢!

如何在win8电脑中关闭IE浏览器的兼容性视图设置?

  Win8系统在很多方面功能确实要比w764位旗舰版强大许多,这一点咱们倒是不予否认,但是不得不说,在一个地方,win8系统似乎是比不上咱们的win7旗舰版系统的,那便是系统的兼容性上,兼容性甚至已经成为了win8系统最大的诟病.这不,今天就有一位使用win8系统的用户表示,自己在win8电脑的IE浏览器中设置了兼容性视图之后,在IE浏览器中打开一些网页就会出现显示不正常的情况,那么如何才能将这个兼容性视图取消呢?下面,小编就来详细的介绍一下操作方法吧! 1.首先,咱们需要返回到win8电脑的

在电脑浏览器中不小心关闭了视频允许提示如何重新打开设置

  有些用户可能会在电脑中通过浏览器进行视频会议,而在开始视频会议之前会弹出视频允许提示,如果不小心将这个提示关闭了,那么应该如何再重新打开相关设置呢?如果大家遇到了和上述描述相同的问题,可以参考以下不同浏览器的方法来解决. 1.360浏览器中,点击地址栏右侧的摄像机图标; 2.Chrome浏览器中,同样是点击地址栏右侧的摄像机图标; 3.搜狗浏览器中,只需要再次刷新就可出现,刷新前请确认勾选了设置--高级--视频提取--"启动视频独立窗口播放提示"; 4.火狐浏览器中,无意中关闭了允