2009-10-07 61 views
0

我知道SO通常不是以這種方式使用(或者它可能是),但我一直在學習web應用程序的安全性,並認爲從SO專家那裏聽到他們對此的看法是好的和鼓舞人心的文章(我正在閱讀它,它是在會話安全)。保護會話

http://carsonified.com/blog/dev/how-to-create-bulletproof-sessions/

也許我們可以有某種形式的討論,指出筆者誤報/忘記什麼更好的做法有哪些?

例如,當涉及到像sql注入這樣的不同安全主題時,許多人推薦諸如mysql_real_escape_strings之類的東西,但專家會告訴你沒有什麼比準備好的語句更棒。從評論中,這篇文章似乎有其問題,所以我想知道他的內容在好或壞的方面有多遠。

+0

這需要是一個社區wiki。請編輯您的問題並檢查相應的框。 – 2009-10-07 21:28:26

+0

社區維基與問題具有相同的可見性嗎? – Chris 2009-10-08 06:48:19

+0

@Chris,是的CW問題具有相同的可見性。 – 2009-10-09 17:07:11

回答

1

我認爲這篇文章相當不錯,但這些只是基本的概念,如果有人認真地嘗試製作一個認真安全的應用程序,這樣的事情將得到解決。換句話說,文章的水平很低。

像中間人攻擊這樣的問題在這裏沒有解決(儘管我可以想象這樣的事情通常超出了應用層的範圍)。另一個可能的漏洞可能是隨機數生成。因此,根據會話密鑰生成的實現,會話密鑰的熵可能會低得多,因爲可能或不可能實施暴力攻擊的最大可能熵是可行的。

因此,它確實取決於您對解決方案的安全要求,因此沒有單一的安全解決方案可以在任何情況下都能正常工作。要應用後者,假設你已經有了一個有效的會話ID,並且知道會話綁定在哪個IP上。還假定在這個例子中的目標是銀行。現在我可以執行一個請求,將資金轉入我的帳戶,並通過欺騙我的IP地址並提供被盜會話來完成此項工作。好的,我的請求的答覆將永遠不會到達,因爲IP地址被欺騙了,但是誰在乎,我從服務器接受我的請求那裏得到了錢。

問題是,根據上下文,您的安全需求和您的安全解決方案可能會有很大的不同。