2011-03-27 105 views
0

我不知道如何讓我的網站防不勝防。我有投入,人們可以輸入在網站上發佈的信息。我應該過濾什麼以及如何?黑客攻擊該網站?

我不應該允許腳本標記嗎? (問題是,他們將如何將YouTube嵌入代碼放在網站上?)

iFrame? (人們可以在iFrames中放置不適當的網站...)

請讓我知道一些方法,我可以防止問題。

回答

5

首先,通過嚴格的XML解析器運行用戶的輸入。
拒絕任何無效標記。

您應該使用HTML標記和屬性的白名單(在解析的XML中)。

不允許<script>標記, s或style屬性。

運行所有的URL(hrefsrc屬性)通過URI解析器(例如,NET的Uri類),並確保該協議是httphttps,或也許mailto。再次,拒絕任何無效的URL。

如果您希望允許嵌入YouTube,請添加自己的<youtube>標籤,將URL或視頻ID作爲參數(內容或屬性),並將其轉換爲服務器上的腳本(驗證參數後)。


完成之後,請確保你在this giant list封鎖一切。

3

沒有黑客證明這樣的事情。你想盡一切可能來減少被黑客攻擊的可能性。最明顯的弱點是防止xss (cross site scripting) hackssql injection攻擊。有兩種避免這兩種情況的簡單方法,最值得注意的是使用本能地尋求防禦它們的新技術(默認編碼的文本輸出,執行前的查詢轉換)等。

如果您需要超越這些級別,有一些自動化(大多數模糊數字,你可以給你的銷售人員後,他們都是「好」)的服務,將「測試」您的系統,以核心分析師將挑選你的系統進行各種審計。

除了上面提到的基礎知識(xss & sql注入),您應該嘗試並獲得的安全級別將取決於您的市場。

2

您可以檢查滲透測試框架,如ISAAF。它給你一個檢查清單和方法來測試應用程序的重要安全方面。

3

沒有明確提到這一點,還使用了模糊器(http://en.wikipedia.org/wiki/Fuzz_testing)。

它基本上將隨機垃圾(不同字符和長度的字符串)推入輸入字段;它用於工業實踐BC它發現了很多錯誤(即溢出)。

http://www.fuzzing.org/有一個偉大的fuzzers列表供您嘗試。