国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.net Cookies安全性實踐分析

2020-01-18 01:19:13
字體:
來源:轉載
供稿:網友
 跨站腳本攻擊一直是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,從而讓其他人即使能用腳本攔截會話,但是無法得到關鍵數據。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蒲江县| 白城市| 全州县| 临澧县| 商南县| 苍山县| 科技| 宜兰市| 肇东市| 新绛县| 齐齐哈尔市| 上虞市| 永兴县| 岢岚县| 巴彦淖尔市| 绥德县| 阳泉市| 浦东新区| 林周县| 灵川县| 岳阳县| 阿合奇县| 万荣县| 信阳市| 南开区| 九江市| 嵩明县| 阿合奇县| 无极县| 怀仁县| 诸暨市| 永泰县| 通化县| 安国市| 天津市| 紫金县| 达尔| 常熟市| 沅江市| 科技| 盐城市|