2010-08-10 77 views
5

有誰知道任何腳本注入掃描儀是能夠檢測,如果你的網站已經被破壞(已注入應該只是沒有在那裏的JavaScript即)的?網站腳本注入掃描

+0

什麼不寫後之前,您應該做的檢查。 – 2010-08-10 11:28:23

回答

2

這是困難的:你需要測試你的應用程序的每個URL,並檢查特定的模式出現在回覆(這是很難有好的算法,可以理解這是好的和壞的JavaScript,或者你需要配置這個掃描器,這可能會很長很棘手)。

有一個稱爲mod security在服務器端的實時開源解決方案。它是一個Web應用程序防火牆:它可以檢測請求和/或響應中的特定模式。它作爲一個模塊在Apache上工作。這主要是一種生產解決方案,並且在開發期間不檢測注入。此外,您需要一些經驗來調整它(與客戶進行數據交換時的優點和錯誤),這可能會非常棘手,並且無法防範新的攻擊或更智能的攻擊(例如重新編碼字符)。

順便說一下,另一種解決方案是使用Content Security Policy,但它並不適用於所有瀏覽器(當然,目前沒有人可以等待Firefox 4 ;-)。

1

你不能。 因爲糟糕的腳本總是能夠在您的掃描儀功能到達瀏覽器時重寫/中和。
而您的服務器不再控制您網頁中發生的事情。

有一種簡單的方法可以保護您的網頁免受注入:使用iframe指向服務器上不同子域或端口的所有不可信內容。
你得到的沙盒iframe和阻止訪問父頁面的ressources同源策略。

那麼你可能要在I幀和主網頁之間的安全通信。
如果您定位的是現代瀏覽器或移動設備,則可以使用window.postMessage發送字符串消息。
對於舊的瀏覽器,有一些技巧here is a blog post with a solution

這並不能防止跨站腳本,但是這是你可以在父頁面一個祕密令牌解決的另一個問題。