首先,你要相信網絡是不安全的,TCP協議也是不安全的。HTTP訪問是基於TCP協議來完成 的,其能夠被攻擊是一定的。
跨站腳本攻擊一直是Web上常見的手段之一,攻擊一般是劫持用戶會話,拿到私有的鑰匙 。如何劫持這個會話呢?
一、Sniffer(這裡采用的軟件是Sniffer,java版的那個)
Sniffer監聽會話是不可護的,就和KOF裡拉爾夫的宇宙幻影一樣,只要打中,一定是致命 的。
上圖,就是一組偵聽數據,當然這裡偵聽的是我本機的數據。實際上是可以偵聽局域網, 甚至廣域網上的數據。
得到一組16進制的值。可以用以下代碼獲得其值:
string bytestr = "";
string[] byteArray = bytestr.Split(' ');
byte[] b = new byte[byteArray.Length];
for (int i = 0; i < byteArray.Length; i++) {
b[i] = Convert.ToByte(byteArray[i], 16);
}
string msg = Encoding.UTF8.GetString(b);
Console.WriteLine(msg);
Console.Read();
bytestr 變量就放置16進制字符串就行了。另外這裡使用的編碼是utf-8,實際應用中應 該與網站的編碼匹配。這個實驗是拿博客園做實驗的。博客園登錄狀態的cookie名為 “.DottextCookie”。
在firefox中,退出博客園登錄,然後切換到firebug的控制台,使用命令行鍵入 document.cookie='.DottextCookie=******;',然後刷新頁面,看到了什麼?現在正處於登 錄狀態!
實際上在會話劫持中,一般都是拿登錄cookie的值,無論其是否加密,都可以劫持。