因使用Cookie而產生的一個風險是使用者的cookie會被攻擊者所偷竊。如果會話標識保存在cookie中,cookie的暴露就是一個嚴重的風險,因為它能導致會話劫持。
圖4-2. PHP為你處理相關會話管理的複雜流程
最常見的cookie暴露原因是瀏覽器漏洞和跨站腳本攻擊(見第2章)。雖然現在並沒有已知的該類瀏覽器漏洞,但是以往出現過幾例,其中最有名的一例同時發生在IE瀏覽器的4.0,5.0,5.5及6.0版本(這些漏洞都有相應補丁提供)。
雖然瀏覽器漏洞的確不是web開發人員的錯,但是你可以採取步驟以減輕它對用戶的威脅。在某些情況下,你可能透過使用一些安全措施有效地消除風險。至少你可以告訴和指導用戶打上修正漏洞的安全修補程式。
基於以上原因,知道新的安全漏洞是必要的。你可以追蹤下面提供的幾個網站和郵件列表,同時有很多服務提供了RSS推送,因此只要訂閱RSS即可以得到新安全漏洞的警告。 SecurityFocus網站維護一系列軟體漏洞的清單(http://www.php.cn/),你可以透過開發人員、主題和版本來檢索。 PHP安全協會也維護SecurityFocus的所有最新通知。 (http://www.php.cn/)
跨站腳本攻擊是攻擊者竊取cookie的更常見的手段。其中之一已有第二章描述。由於客戶端腳本能存取cookies,攻擊者所要的送是寫一段傳送資料的腳本即可。唯一能限制這種情況發生的因素只有攻擊者的創造力了。
防止cookie盜竊的手段是透過防止跨站腳本漏洞和檢測導致cookie暴露的瀏覽器漏洞相結合。由於後者非常少見(這類漏洞將來也會比較罕見),所以它並不是需要關心的首要問題,但還是最好要緊記。
以上是PHP安全-Cookie 竊的內容,更多相關內容請關注PHP中文網(www.php.cn)!