讀Cookie安全後的讀後感
引用 “Cookie是一個神奇的機制,同域內瀏覽器中發出的任何一個請求都會帶上Cookie,無論請求什麼資源,請求時,Cookie出現在請求頭的Cookie欄位中。服務端響應頭的Set-Cookie欄位可以新增、修改和刪除Cookie,大多數情況下,客戶端通過JavaScript也可以新增、修改和刪除Cookie。”
這句話基本上說了cookie是什麼 和怎樣進行操作就不重複了
現在越來越多的黑闊用xss進行盜取使用者或者管理員的cookie 盜取目標網站的使用者許可權
Cookie的重要欄位如下:
[name][value][domain][path][expires][httponly][secure]
其含義依次是:名稱、值、所屬域名、所屬相對根路徑、過期時間、是否有HttpOnly標誌、是否有Secure標誌。
有幾個欄位是有專門的機制的
一個一個來
0×01子域Cookie機制
設定Domain 的值 可以進行共享cookie (不填為預設 本域 不能為其他域名)
比如 你是www.fuck.com但你 domain = bingdao.com 那是行不通的
在查關於 子域cookie機制時
找到2個相關的博文
http://blog.csdn.net/civilman/article/details/5286426(跨子域的Cookie的清除問題 在同一個環境下的2個網站 1.fuck.com 和 2.fuck.com 共用同一組cookie 但導致不能登出的問題的解決方法)
http://hi.baidu.com/thinkinginlamp/item/b1273444b6631ff4dc0f6ce6(子域和根域下的同名Cookie) 在子域下請求時,瀏覽器會把子域和根域下的Cookie一起傳送到伺服器,那如果子域和根域下有一個同名Cookie,當我們在PHP裡使 用$_COOKIE訪問時,到底生效的是哪個呢?
我也有點感興趣就同這個博文實驗了下
我直接貼圖和操作了
我是在本機操作的 於是就用switchhosts! 更改了下環境 設定了一個虛擬域名
設定虛擬域名 (因為畢竟是子域和根域下的Cookie的問題 IP不好實現)
編寫設定Cookie的PHP指令碼,先設定子域,再設定根域:
再編寫瀏覽Cookie的指令碼:
然後訪問1.php 生成cookie 再訪問2.php獲取cookie
結果顯示有效的是子域下的Cookie。
___________________________________________
在子域下請求時,瀏覽器會把子域和根域下的Cookie一起傳送到伺服器,那如果子域和根域下有一個同名Cookie,當我們在PHP裡使 用$_COOKIE訪問時,到底生效的是哪個呢?
大家再看下我們的問題 所以我們再將先後順序換下
答案很明顯了
第一次先設定子域,再設定根域:請求頭Cookie的值是bar=www;bar=2b,結果有效的是bar=www
第二次先設定根域,再設定子域:請求頭Cookie的值是bar=2b;bar=www,結果有效的是bar=2b
同名時是根據設定cookie的先後順序來也就是哪個在前哪個生效,後面的會被忽略。
0×02路徑Cookie機制
“path欄位的機制 ,設定Cookie時,如果不指定path的值,預設就是目標頁面的路徑。”
看就看得懂.
0x03HttpOnly Cookie機制
“HttpOnly是指僅在HTTP層面上傳輸的Cookie,當設定了HttpOnly標誌後,客戶端指令碼就無法讀寫該Cookie,這樣能有效地防禦XSS攻擊獲取Cookie。
<?php
setcookie(“test”, 1, time()+3600, “”, “”, 0); // 設定普通Cookie
setcookie(“test_http”, 1, time()+3600, “”, “”, 0, 1);
// 第7個引數(這裡的最後一個)是HttpOnly標誌,0為關閉,1為開啟,預設為0
?>
”
但還是有突破的方法
(1)檢視phpinfo.php
本地測試的
(2)Django應用的除錯資訊,沒進行測試- –
(3)CVE-2012-0053關於Apache Http Server 400錯誤暴露HttpOnly Cookie 本地木有apache環境 沒有測試…. 大家有興趣自己測試吧..
0×04 Secure Cookie機制
指的是設定了Secure標誌的Cookie僅在HTTPS層面上安全傳輸,如果請求是HTTP的,就不會帶上這個Cookie,這樣能降低重要的Cookie被中間人截獲的風險。
Secure Cookie對於客戶端指令碼來說是可讀寫的。
本文轉自Tar0 51CTO部落格,原文連結http://blog.51cto.com/tar0cissp/1259406:,如需轉載請自行聯絡原作者
相關文章
- 《iOS 應用逆向與安全》讀後感iOS
- 《SVG 精髓》讀後感SVG
- 《精通 Django》 讀後感Django
- 讀後感---程式猿.
- 《軟體方法》讀後感
- 《圖解 HTTP》讀後感圖解HTTP
- 《蔣勳說宋詞》讀後感
- 讀《更改SAP BW Client 的前後》之後感client
- laravel入門教程讀後感Laravel
- 《Django基礎教程》讀後感Django
- Spring Microservices讀後感SpringROS
- 《黑客與畫家》讀後感黑客
- 《程式碼之髓》讀後感
- 讀噹噹elastic-job後感AST
- 《程式設計人生》讀後感程式設計
- 關於Code Review的文章讀後感View
- 鳳凰專案-遲來的讀後感
- 《資料探勘導論》讀後感
- 單核工作法讀後感單核
- 《演算法圖解》讀後感演算法圖解
- nodejs開發指南讀後感NodeJS
- 《七週七語言》讀後感
- 【讀後感】【Tom】《Effective Oracle by Design》Oracle
- 《價值流動-Project To Product》讀後感Project
- 03《軟體工程思想》讀後感02軟體工程
- 01《軟體工程思想》讀後感01軟體工程
- 家用遊戲機簡史 讀後感遊戲
- 《資料科學入門》讀後感資料科學
- Oracle效能優化求生指南讀後感Oracle優化
- 3月19日 tensorflow讀後感
- 你不知道的js讀後感-型別JS型別
- 《一個程式猿的生命週期》讀後感
- 《松本行弘的程式世界》樣章讀後感
- Mission Impossible——《圖靈的祕密》讀後感圖靈
- 閱讀圖靈iOS開發相關書籍讀後感圖靈iOS
- 聶微東:《暗時間》讀書筆記與讀後感筆記
- 《Unity移動遊戲開發》讀後感Unity遊戲開發
- 《客戶端儲存技術》讀後感客戶端