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

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

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

1、簡介

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

[[111455]]

2、用JavaScript覆蓋cookie中的HttpOnly標志

當JavaScript可以覆蓋cookie中的HttpOnly標志時,攻擊者如果發(fā)現(xiàn)網(wǎng)站的XSS漏洞,就可以利用HttpOnly cookie發(fā)動session fixation攻擊(更多關(guān)于session fixation攻擊的內(nèi)容可以參考筆者之前的文章[1])。

session fixation攻擊的后果是攻擊者可以冒充受害者,因為其知道受害者的session ID。這里假設(shè)當成功登錄應(yīng)用后session不會重新生成。現(xiàn)實也確實是這樣的,但瀏覽器不應(yīng)該允許JavaScript覆蓋HttpOnly標志,因為這種覆蓋可能與某些應(yīng)用程序登錄成功后不會重新生成會話這一特性結(jié)合,發(fā)動session fixation攻擊。

那么登錄成功后如果重新生成session ID的話安全性是怎么樣的呢?還能被攻擊者利用嗎?登錄之后,攻擊者通過設(shè)置用戶的session為攻擊者正在使用的session,將用戶切換為攻擊者自己的帳戶。受害者以為其正在使用自己的帳戶,實際上一些敏感信息已經(jīng)泄露給攻擊者了。

3、允許JavaScript覆蓋HttpOnly cookie的瀏覽器

經(jīng)筆者證實,以下瀏覽器允許JavaScript覆蓋HttpOnly cookies:

Safari

Opera Mobile

Opera Mini

BlackBerry browser

Konqueror browser

該問題已經(jīng)(于2014年2月14日)提交給相應(yīng)的廠商。

IE、Firefix和Opera(標準安裝版本)不容易受到上述攻擊影響。

4、廠商的回復(fù)

Opera公司已經(jīng)確認該問題在Opera Mobile和Opera Mini中存在,決定在Opera Mini中修復(fù)該問題(修復(fù)日期還未確定)。盡管Opera Mobile當前在Google Play中可以下載,但Opera公司認為該版本已經(jīng)過時,因此決定不對其進行修改(他們建議替換為Opera for Android版本,該版本可以防止JavaScript覆蓋HttpOnly cookie)。

黑莓公司回復(fù)說已經(jīng)宣布于2014年4月后不再對PlayBook Tablet的操作系統(tǒng)(筆者當時測試時使用的系統(tǒng))進行支持,因此不會修復(fù)該問題。但是由于該問題是在支持結(jié)束聲明之前提交的,他們決定將我加入到黑莓安全事件響應(yīng)小組的感謝名單中(根據(jù)他們的規(guī)定,筆者的名字會在2014年4月底才會被加入)[2]。

Konqueror確認了該問題,但可能不會去修復(fù)。該bug的信息可以在KDE Bugtracking系統(tǒng)中找到[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(設(shè)置了HttpOnly標志)已經(jīng)被JavaScript寫入覆蓋了。

6、總結(jié)

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

責任編輯:藍雨淚 來源: FreeBuf
相關(guān)推薦

2012-04-11 13:46:33

ibmdw

2021-12-12 07:41:54

微軟Edge瀏覽器

2010-05-04 17:43:50

Unix系統(tǒng)

2020-10-25 11:55:16

Google Chrome瀏覽器

2012-11-20 10:47:16

2009-04-01 08:56:59

2020-08-31 19:20:33

瀏覽器CORS跨域

2013-08-16 17:25:59

2013-11-22 09:58:36

2010-07-28 14:27:13

NFS服務(wù)器

2016-10-21 14:09:38

網(wǎng)絡(luò)安全數(shù)據(jù)安全安全漏洞

2009-07-30 18:51:19

瀏覽器是否接受CookASP.NET

2013-11-20 14:25:45

瀏覽器重繪

2010-01-10 17:50:17

2012-11-30 10:57:09

2009-08-23 15:56:53

2010-04-05 21:57:14

Netscape瀏覽器

2014-10-29 19:18:34

傲游瀏覽器

2012-05-17 11:16:09

2012-05-16 18:16:20

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 无码一区二区三区视频 | 日本一区二区三区四区 | 欧美日韩国产精品一区二区 | 极品销魂美女一区二区 | 人妖一区 | 国产精品久久久乱弄 | 久草网站| 涩涩视频在线观看免费 | 久久免费视频在线 | 欧美日韩在线视频观看 | 亚洲精品久久久久久首妖 | 99久9| 欧美成人h版在线观看 | 日本h片在线观看 | 久久国产欧美一区二区三区精品 | 在线视频a| 久久久久久久久淑女av国产精品 | 青青草在线播放 | 亚洲国产精品视频 | 日韩高清中文字幕 | 欧美精品在线一区二区三区 | 亚洲精品一区二区三区中文字幕 | 久久久一区二区 | 久久精品色欧美aⅴ一区二区 | 久久综合色综合 | 亚洲图片一区二区三区 | 久久久久久国产精品免费免费狐狸 | av手机在线| 在线观看黄色大片 | 午夜影院网站 | 日本aaa视频 | 亚洲激情一区二区三区 | 九九av| 亚洲天堂中文字幕 | 亚洲成年人免费网站 | 久久av一区二区三区 | 337p日本欧洲亚洲大胆鲁鲁 | 午夜精品一区二区三区在线视 | 国产在线视频在线观看 | 爱综合| 成人区精品 |