• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    利用HTTP-only Cookie緩解XSS之痛

    發布時間:  2012/9/15 20:07:15
    在Web安全領域,跨站腳本攻擊時最為常見的一種攻擊形式,也是長久以來的一個老大難問題,而本文將向讀者介紹的是一種用以緩解這種壓力的技術,即HTTP-only cookie。

    我們首先對HTTP-only cookie和跨站腳本攻擊做了簡單的解釋,然后詳細說明了如何利用HTTP-only cookie來保護敏感數據,最后介紹了實現HTTP-only cookie時確定瀏覽器版本的具體問題。

    一、XSS與HTTP-only Cookie簡介

    跨站點腳本攻擊是困擾Web服務器安全的常見問題之一。跨站點腳本攻擊是一種服務器端的安全漏洞,常見于當把用戶的輸入作為HTML提交時,服務器端沒有進行適當的過濾所致。跨站點腳本攻擊可能引起泄漏Web 站點用戶的敏感信息。為了降低跨站點腳本攻擊的風險,微軟公司的Internet Explorer 6 SP1引入了一項新的特性。

    這個特性是為Cookie提供了一個新屬性,用以阻止客戶端腳本訪問Cookie。

    像這樣具有該屬性的cookie被稱為HTTP-only cookie。包含在HTTP-only cookie中的任何信息暴露給黑客或者惡意網站的幾率將會大大降低。下面是設置HTTP-only cookie的一個報頭的示例:

    Set-Cookie: USER=123; expires=Wednesday, 09-Nov-99 23:12:40 GMT; HttpOnly

    上面我們介紹了HTTP-only Cookie;下面我們開始向讀者介紹跨站點腳本攻擊、允許通過腳本訪問的cookie所帶來的潛在危險以及如何通過HTTP-only來降低跨站點腳本攻擊的風險。   

    跨站點腳本攻擊是一種服務器端常見的安全漏洞,它使得黑客可以欺騙用戶從而導致用戶在某個Web 站點上的敏感信息的泄漏。下面通過一個簡單的示例來解釋一個跨站點腳本攻擊的相關步驟。

    二、跨站點腳本攻擊示例

    為了解釋跨站點腳本攻擊是如何被黑客利用的,我們假想了下面的一個例子:

    A證券公司運行了一個Web 站點,該站點允許您跟蹤某股票的最新價格。為了提高用戶體驗,登錄A證券公司的Web 站點之后,你將被重定向到www.azhengquan.com/default.asp?name = < script > evilScript()< / script >張三,并且有一個服務器端腳本生成一個歡迎頁面,內容為“歡迎您回來,張三!”。

    你的股票數據被存放在一個數據庫中,并且Web 站點會在你的計算機上放置一個cookie,其中包含了對這個數據庫非常重要的數據。每當你訪問A證券公司站點時,瀏覽器都會自動發送該cookie。

    一個黑客發現A證券公司公司的Web 站點存在一個跨站點腳本攻擊缺陷,所以他決定要利用這點來收集你所持股票的名稱等敏感信息。黑客會您你發送一封電子郵件,聲稱您中獎了,并且需要點擊某個鏈接如“點擊這里”來領取獎品。注意,該鏈接將超鏈接到www.azhengquan.com/default.asp?name=< script >evilScript()< / script > 當您點擊這個鏈接,映入眼簾您的將是“歡迎您回來!”—— 等等,您的姓名哪里去了?事實上,單擊電子郵件內的鏈接之后,你實際上就是在通知A證券公司公司的Web 站點,你的姓名是< script  > evilScript()<  /script >。Web服務器把用這個“名字”生成的HTML返回給你,但是你的瀏覽器會把這個“名字”作為腳本代碼解釋,腳本執行后便出現了我們前面看到的一幕。一般情況下,支持客戶端腳本是瀏覽器的典型功能之一。如果這個腳本命令瀏覽器向黑客的計算機發回一個cookie,即使這個cookie包含有您的股票的有關信息,您的瀏覽器也會老老實實地執行。最后,那些來自A證券公司的Web 站點的指令獲取了那個包含敏感信息的cookie。

    下面是跨站腳本攻擊的示意圖,它詳細的展示了攻擊的五個步驟。首先,用戶點擊了黑客發來的電子郵件中的一個嵌入的鏈接(第1步)。由于跨站點腳本攻擊缺陷的原因,這樣會導致用戶的瀏覽器向Web 站點發送一個請求(第2步);服務器端根據該請求會生成一個包含惡意腳本的響應,并將其發回給用戶的瀏覽器(第3步)。當用戶的機器執行返回的惡意代碼時(第4步),就會將用戶的敏感數據發送給黑客的計算機(第5步)。
     

     

    圖1

     

    我們可以看到,這個過程只需要用戶單擊了一個鏈接,然后就會有指令發送給Web服務器,然后Web服務器生成一個嵌入惡意腳本的網頁;瀏覽器運行這個來自受信任的源的腳本,卻致使信息泄漏給黑客的計算機。跨站點腳本攻擊有許多不同的形式,這里只是其中的一種。

    三、用HTTP-only Cookie保護數據

    為了緩解跨站點腳本攻擊帶來的信息泄露風險,Internet Explorer 6 SP1為Cookie引入了一個新屬性。這個屬性規定,不許通過腳本訪問cookie。使用HTTP-only Cookie后,Web 站點就能排除cookie中的敏感信息被發送給黑客的計算機或者使用腳本的Web站點的可能性。

    Cookie通常是作為HTTP 應答頭發送給客戶端的,下面的例子展示了相應的語法(注意,HttpOnly屬性對大小寫不敏感):

    Set-Cookie: =[; =]
    [; expires=][; domain=]
    [; path=][; secure][; HttpOnly]

    即使應答頭中含有HttpOnly屬性,當用戶瀏覽有效域中的站點時,這個cookie仍會被自動發送。但是,卻不能夠在Internet Explorer 6 SP1中使用腳本來訪問該cookie,即使起初建立該cookie的那個Web 站點也不例外。這意味著,即使存在跨站點腳本攻擊缺陷,并且用戶被騙點擊了利用該漏洞的鏈接,Internet Explorer也不會將該cookie發送給任何第三方。這樣的話,就保證了信息的安全。
    注意,為了降低跨站點腳本攻擊帶來的損害,通常需要將HTTP-only Cookie和其他技術組合使用。如果單獨使用的話,它無法全面抵御跨站點腳本攻擊。

    四、支持HTTP-only Cookie的瀏覽器

    如果Web 站點為不支持HTTP-only Cookie的瀏覽器建立了一個HTTP-only cookie的話,那么該cookie不是被忽略就是被降級為普通的可以通過腳本訪問的cookie。這還是會導致信息容易被泄露。

    對于公司內部網中的web頁面,管理員可以要求所有用戶都是由支持HTTP-only Cookie的瀏覽器,這樣能保證信息不會由于跨站點腳本攻擊缺陷而泄露。

    對于公共Web 站點,由于需要支持各種各樣的瀏覽器,這時可以考慮使用客戶端腳本來確定不同訪問者所使用的瀏覽器的版本。Web 站點可以通過向支持~的瀏覽器發送敏感信息以減輕跨站點腳本攻擊對Cookie的威脅。對于那些使用不支持HTTP-only Cookie的瀏覽器的訪問者,可以限制為其提供的信息或功能,并要求升級他們的軟件。

    當確定Internet Explorer的版本時,重要的是記住Internet Explorer 6 SP1 的用戶代理字符串跟Internet Explorer 6的用戶代理字符串是一樣的。客戶端腳本還必須使用navigator對象的appMinorVersion屬性檢測主版本號,這樣才能確定出客戶端是否安裝了Internet Explorer 6 SP1。

    五、小結

    在Web安全領域,跨站腳本攻擊時最為常見的一種攻擊形式,也是長久以來的一個老大難問題,而本文將向讀者介紹一種用以緩解這種壓力的技術,即HTTP-only cookie。我們首先對HTTP-only cookie和跨站腳本攻擊做了簡單的解釋,然后詳細說明了如何利用HTTP-only cookie來保護敏感數據,最后介紹了實現HTTP-only cookie時確定瀏覽器版本的具體問題。

    如果有需要服務器的租用與托管的敬請聯系QQ:1501281758(億恩星辰)   聯系電話:0371—63322220


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線