.net Cookies安全性實踐分析

來源:互聯網
上載者:User

跨站指令碼攻擊一直是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的值,無論其是否加密,都可以劫持。
二、跨域指令碼攻擊
要實現跨域指令碼攻擊,除了利用瀏覽器漏洞,或者ARP欺騙,一般需要有兩個要素。首要的要素是,被攻擊的網站,需要能自訂html代碼(除了利用漏洞,一般是要支援script)。在用戶端使用document.cookie就可以拿到cookie的值,然後進行分析,找出需要的索引值對。就可以完成攻擊。這裡關於如何跨域儲存資訊就不討論了。

比如有以下代碼: 複製代碼 代碼如下:HttpCookie cookie = new HttpCookie("mmmm", "vvvvvvvvvvvv");
Response.Cookies.Add(cookie);

實現了cookie的寫入。而在這個域下的頁面中,我有使用權限設定某個頁面中包含指令碼的話,就可以實現攻擊。 複製代碼 代碼如下:<script>
document.write(document.cookie);
</script>

以上代碼是個簡單的輸出,如果我把攔截到的document.cookie發送到我能儲存資料的地方,那麼就可以拿到很多有用的資訊。這樣就完成了跨域指令碼攻擊。
三、其它攻擊方法
其他攻擊方法只要能夠拿到這個cookie就可以了,不管你是用flash或者其它辦法。

四、可以防止的和不可防止的
剛才介紹到Sniffer方法是不可防止,那怎麼防止指令碼的攻擊呢?可以禁止使用者使用指令碼,很多網站都這麼做的,如果一定要使用的話,需要對cookie做特殊設定。在dotnet中,可以這樣處理: 複製代碼 代碼如下:HttpCookie cookie = new HttpCookie("mmmm", "vvvvvvvvvvvv");
cookie.HttpOnly = true;
Response.Cookies.Add(cookie);

這樣,在用戶端就不可以訪問這個索引值對的cookie,從而讓其他人即使能用指令碼攔截會話,但是無法得到關鍵資料。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.