2012-05-07 111 views
1

我知道這是之前被問過的,但我想弄清楚如何爲我的Spring MVC Web應用程序防止XSS攻擊。防止Spring MVC中的XSS

1)添加以下到我的web.xml

<context-param> 
    <param-name>defaultHtmlEscape</param-name> 
    <param-value>true</param-value> 
</context-param>  

2)如果我還可以使用共享StringEscapeUtils.escapeHtml(),用於在窗體命令對象中的每個屬性之前我保存在數據庫中?我是否也需要在某個時候忽略它?

感謝

回答

2

即使在默認情況下轉義HTML在許多情況下停止XSS有一定情境它不起作用。看到一個例子: http://erlend.oftedal.no/blog/?id=124 我建議你看看OWASP XSS預防備忘單。它解釋了何時需要使用不同的轉義。 關於2在把它放入db之前不要逃脫。轉義例程可能有錯誤,您不能確定數據每次都會在相同的上下文中使用

2

我更喜歡您在應用程序上嘗試使用HDIV api來處理這種數據安全性。它可以防止對您的Web應用程序進行這種和其他7種不同的攻擊。我目前也在探索使用Spring Framework的相同API。

Click here for HDIV home page.

希望這有助於你。

+0

這似乎對我正在嘗試做的事情非常沉重。我只是想要一種簡單的方法來轉義惡意角色,然後當我將它們呈現在視圖中時避開它們。 – user879220

+0

你說得對。但是,如果你想讓你的Web應用程序完全保護其他攻擊,那麼必須使用HDIV之類的東西。它肯定會影響你的表現2-3%,但它可以接受。 –

+0

我不同意。使用WAF是一個有價值的防禦層,但仍然不是創建易受攻擊應用程序的藉口,也不會以任何方式使您「完全安全」。 – droope