2012-08-16 83 views

回答

5

經典ASP沒有真正的安全性。

  • 沒有身份驗證模式,因此每一個應用程序必須做自己的事情
  • 有弱會話管理,沒有能力旋轉 會話標識符或防止會話劫持。沒有 反CSRF支持
  • 有沒有授權模式,因此每個應用程序有 做自己的事情。這意味着大多數傳統的ASP應用程序在演示文稿,業務邏輯和數據模型層都有 訪問控制問題。
  • 輸入驗證很弱,因爲大多數輸入驗證是 字符串替換,這是不夠的。
  • 這裏只有 server.htmlencode()和用urlencode用於輸出編碼,但沒有 其他方法對其他10級左右的輸出的上下文,所以XSS是 可能
  • 毫無防止比其他SQL注入的方法 存儲過程,但如果您做錯了,那麼存在風險。
  • 沒有簡單的日誌記錄方法,無需使用ActiveX服務器 對象來調用Win32 API來使用Windows事件日誌。這是不容易或簡單的,因爲它們被設計成與 本地化資源一起使用,而不是像syslog。
  • 安全配置 內的ASP是最小的反映其簡單和古老的根源。 在代碼或global.asa中,您可以做的事情很少,以改善 的事情。

有人努力將ESAPI移植到經典的ASP。我不認爲他們完成了。您可能能夠通過COM導出使用ESAPI for .NET,但我不一定會打賭它的工作。

在這個階段,您應該研究升級到ASP.NET 4.0或更高版本。


感謝
安德魯·範德股票
OWASP開發指南2013佼佼者

+0

感謝您的意見。 – Khrys 2012-08-22 12:12:07