根據 Thai Duong 與 Juliano Rizzo 兩位資安研究員於日前所發表的資料顯示,他們已經找到 ASP.NET 當中用來加密 Cookie 演算法的實作錯誤。這個錯誤影響了包含 AES、3DES、MARS 在內的區塊演算法 (Block-Cipher),而攻擊者則可以透過 ASP.NET 所傳回的錯誤訊息計算出用來加密的 Machine Key,其所產生的危害包含攻擊者可以假冒任何合法的 Cookie 及 ViewState。因為 Cookie 是許多系統用來儲存使用者身分資料的機制,也就是表示攻擊者可利用此一攻擊手法來假冒合法的使用者、甚至是管理者。
目前 Microsoft 針對此一問題所提出的建議方案正是減少錯誤訊息所提供的資訊。例如可以在 web.config 內加上或修改成下列內容
<customErrors mode=”On” defaultRedirect=”~/error.html” />
如此一來攻擊者就只能看到固定的錯誤訊息,而無法利用錯誤訊息來計算出所需的 Machine Key。
這裡有示範的影片,研究員利用發現的錯誤攻擊 DotNetNuke 這個套件,並順利取得管理者的權限。
相關連結:
沒有留言:
張貼留言