2010-05-26 71 views
7

我想知道什麼會話ID劫持保護內置到當前版本的ASP.NET中。ASP.NET中的會話劫持保護

我最近看到this very informative article,它解釋瞭如何通過實現將IP地址和用戶代理頭部編碼到會話ID中的附加層來增強會話安全性。隨後每個請求都會驗證這些詳細信息。

看來,這篇文章是爲ASP.NET 1.1編寫的,所以我想知道是否有類似的東西現在構建到ASP.NET中。實施這樣的附加層還有什麼好處嗎?

謝謝。

+0

更新鏈接到「這篇非常翔實的文章」的任何可能性?不幸的是,它已經過時了。 – 2016-02-22 19:06:27

+0

@SlogmeisterExtraordinaire對不起,這是從近6年前。我甚至不記得文章的內容,所以再次搜索它不可能。我想這可以通過我上面寫的有關IP編碼的內容來總結。 – Martyn 2016-02-23 22:17:31

+0

@SlogmeisterExtraordinaire http://web.archive.org/web/20130307201452/http://msdn.microsoft.com/en-us/magazine/cc300500.aspx – jazzcat 2016-10-04 07:30:32

回答

6

退房從會議文件概述這個片段:

System.Web.SessionState.HttpSessionState.SessionID值以明文形式發送,無論是作爲一個cookie或URL的一部分。惡意用戶可以通過獲取SessionID值並將其包含在對服務器的請求中來訪問另一個用戶的會話。如果您在會話狀態中存儲敏感信息,建議您使用SSL來加密瀏覽器和包含SessionID值的服務器之間的任何通信。

http://msdn.microsoft.com/en-us/library/ms178581.aspx

在我看來,這意味着不存在安全烤成會話,所以你可能不應該使用Session作爲一種安全措施。相反,我會建議依靠ASP.NET安全性(身份驗證,授權)。

這是一篇來自Patterns &實踐小組的ASP.NET常規安全建議。

http://msdn.microsoft.com/en-us/library/ff649100.aspx

2

嘿,我也一直在尋找方法,以減少會話ID劫持的風險。我也讀Jeff Prosise's article,我認爲它可能會有用;然而,就像你一樣,我期待着看看現代版本的框架是否適用相同的方法(他的電子郵件[email protected]不能順便工作)

jkohlhepp,我不同意你的文章(或者我不明白):

你可能不應該使用會話作爲安全措施。相反,我會建議依靠ASP.NET安全(認證,授權)

至於我關注asp.net身份驗證依賴於會話ID(除了cookie的,這似乎更糟糕:See Dino Esposito's opinion

所以,這幾乎把我們放在了我們開始的地方。