2012-05-18 25 views
0

所以我googling這個問題,並不能真正找到任何明確的例子,因爲幾乎所有相關的故事都是關於與用戶登錄的網站等。沒有用戶登錄功能的網站需要什麼樣的安全性?

所以我的場景如下,asp.net MVC3網站,沒有用戶登錄,沒有。 我確實有一些形式,雖然,聯繫和一些計算功能。

我使用Nhibernate,並在代碼本身中擁有我的Smtp服務器憑據,而不是在web.config中。我也有一個自定義錯誤頁面,並且post方法具有[HttpPost]屬性。作爲最後一個特性,我有一個獲取標題列表的AJAX/json get方法(該控制器方法具有[AcceptVerbs(HttpVerbs.Get)]屬性)。

我在這裏丟失了一些大的安全漏洞(sql注入,跨站點腳本)?

謝謝你們

+0

用戶登錄的存在對於網站的潛在安全漏洞確實沒有太大區別。任何時候處理用戶的任何輸入 - 無論是否登錄 - 你都有可能被惡意攻擊,包括所有URL,查詢字符串數據,表單發佈數據,cookie,http頭等。 Tony建議並繼續閱讀OWASP前十名,以瞭解更多關於webapp漏洞以及如何避免漏洞的信息。 – Cheekysoft

回答

0

你會仍然容易受到DDoS和DoS攻擊,如果你不這樣做HTTPS那麼你會很容易受到攻擊的MiM。

雖然NHibernate和ASP.NET MVC3應該覆蓋你的大部分曲目。如果他們沒有適當的表單驗證客戶端和服務器端,並且數據庫輸入未被清理,我會非常驚訝。

如何管理您的數據? - 你有沒有登錄管理員?

如果是這樣,讓你保護它,並增加措施,不要把它放在/login//admin/

+0

我仍然在管理面板上工作,目前,更新數據的唯一方法是與數據庫直接連接。感謝您的提示! – NeedACar

+0

使用框架不會自動保護您免受典型的常見漏洞攻擊。我已經看到很多人在NHibernate中編寫SQL - 它只需要一個注入式查詢來破壞整個數據庫。至於MVC - 從幾乎沒有什麼保護你。這些東西不是魔藥;你仍然需要了解問題並知道如何防範這些問題。至於/登錄/管理等 - 雖然它是完全合理的建議,這是*默默無聞*,而不是*安全* – Cheekysoft

+0

我彈了回來,因爲有人投你失望,因爲我只能假設你是瘋狂的初始句子。我想重新評估一下,如果你想在這裏保持平衡 –

0

唯一類型的攻擊,你不會是容易將任何類型的驗證繞過或權限提升的。其餘OWASP Top 10(和SANS排名前25的http://www.sans.org/top25-software-errors/)仍然適用。

儘管存在典型的SQL注入漏洞和XSS漏洞,但還有許多其他「注入」類型的漏洞,例如您應該注意的操作系統命令注入和路徑遍歷。不要忘記,您還應該注意保護您的託管環境(強化Web服務器,應用程序服務器和服務器本身)。