成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

瀏覽器中因cookie設置HttpOnly標志引起的安全問題

安全 應用安全
如果cookie設置了HttpOnly標志,可以在發生XSS時避免JavaScript讀取cookie,這也是HttpOnly被引入的原因。但這種方式能防住攻擊者嗎?HttpOnly標志可以防止cookie被“讀取”,那么能不能防止被“寫”呢?答案是否定的,那么這里面就有文章可做了。

1、簡介

如果cookie設置了HttpOnly標志,可以在發生XSS時避免JavaScript讀取cookie,這也是HttpOnly被引入的原因。但這種方式能防住攻擊者嗎?HttpOnly標志可以防止cookie被“讀取”,那么能不能防止被“寫”呢?答案是否定的,那么這里面就有文章可做了,因為已證明有些瀏覽器的HttpOnly標記可以被JavaScript寫入覆蓋,而這種覆蓋可能被攻擊者利用發動session fixation攻擊。本文主題就是討論這種技術。

[[111455]]

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:

Safari

Opera Mobile

Opera Mini

BlackBerry browser

Konqueror 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、漏洞利用

以下是部分示例代碼:

  1. <? 
  2. setcookie('cookie1',++$_COOKIE['cookie1'],time()+2592000,'/','',0,1);  
  3. setcookie('cookie2',++$_COOKIE['cookie2'],time()+2592000,'/','',0,0);  
  4. ?> 
  5. <HTML> 
  6. <? 
  7. print "Cookie1:".$_COOKIE['cookie1']."<br>";  
  8. print "Cookie2:".$_COOKIE['cookie2'];  
  9. ?> 
  10. <script>alert(document.cookie);</script> 
  11. <script>document.cookie='cookie1=100;expires=Thu, 2 Aug 2014 20:00:00 UTC; path=/';</script> 
  12. </HTML> 

過程如下:運行這段代碼,之后可以看到cookie1(設置了HttpOnly標志)已經被JavaScript寫入覆蓋了。

6、總結

HttpOnly標志的引入是為了防止設置了該標志的cookie被JavaScript讀取,但事實證明設置了這種cookie在某些瀏覽器中卻能被JavaScript覆蓋,可被攻擊者利用來發動session fixation攻擊。該問題被提出后,得到了相關廠商的響應。最后,本文給出了一段利用演示代碼。

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2012-04-11 13:46:33

ibmdw

2021-12-12 07:41:54

微軟Edge瀏覽器

2010-05-04 17:43:50

Unix系統

2020-10-25 11:55:16

Google Chrome瀏覽器

2009-04-01 08:56:59

2012-11-20 10:47:16

2020-08-31 19:20:33

瀏覽器CORS跨域

2013-08-16 17:25:59

2013-11-22 09:58:36

2016-10-21 14:09:38

網絡安全數據安全安全漏洞

2010-07-28 14:27:13

NFS服務器

2009-07-30 18:51:19

瀏覽器是否接受CookASP.NET

2010-01-10 17:50:17

2009-08-23 15:56:53

2012-11-30 10:57:09

2014-10-29 19:18:34

傲游瀏覽器

2013-11-20 14:25:45

瀏覽器重繪

2012-05-16 18:16:20

2012-05-17 11:16:09

2010-04-05 21:57:14

Netscape瀏覽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费毛片网 | 一区二区三区国产 | 91社区在线高清 | 日韩精品一区二区三区免费观看 | 欧美区在线 | 日韩中文视频 | 亚洲日韩中文字幕一区 | 国产精品不卡视频 | 亚洲国产精品一区二区三区 | 日日躁狠狠躁aaaaxxxx | 黑人巨大精品 | 国产精品成人一区二区三区夜夜夜 | 亚洲一区二区中文字幕 | 国产精品入口麻豆www | 国产精品日女人 | 亚洲欧美成人在线 | 精品久久亚洲 | 国产高清精品在线 | 国产精品久久片 | h视频在线播放 | av天天看 | 亚洲免费av一区 | 一区二区三区在线免费观看 | 99免费看| 国产丝袜人妖cd露出 | 成人国产精品视频 | 精品视频在线一区 | 亚洲国产精品第一区二区 | 国产精品天堂 | av天空 | 欧美日韩在线一区二区三区 | 6080yy精品一区二区三区 | 91在线观看 | 久久精品一 | 成人不卡视频 | 欧美成人性生活 | 日韩一区二区三区av | 亚洲一区有码 | 视频1区2区 | 欧美黄色一区 | 麻豆一区一区三区四区 |