Castle Project充滿了各種功能,包含了一些非常棒的子項目,並且用它進行開發一直很愉快。如何在NVelocity上處理XSS
我的團隊幾乎準備好提供定製的EAM,我們正在拋光我們的系統。我們嘗試了一些基本的XSS攻擊並猜測:它們都起作用了。
儘管它將在Intranet環境中運行,但我們不希望用戶意外打破整個系統,而且我們正在研究解決方案來處理XSS問題。
NVelocity在默認情況下不會逃避任何東西,所以這段代碼:
${entity.Field}
與該字段包含喜歡的東西:
<script>alert('xss!')</script>
會給我們一個很好的XSS警報。
微軟的AntiXSS庫看起來不錯:處理幾種可能的XSS向量,等等。我們遇到了AndyPike的helper,但是這個解決方案會讓我們重構幾千行。是的,不好。這在編輯現有實體時不會處理ActiveRecord/NVelocity自動綁定。
問題是:使用輸出編碼技術,是否有可能/建議修補Castle Project的NVelocity引擎?就像他們對Brail做的一樣?任何人有更好的主意?
謝謝!
PS:Stackoverflowers使用Castle Project會使用這樣的補丁嗎?
只是一個快速注:表單助手確實HtmlEncondig把值插入輸入字段之前。 – wtaniguchi 2009-09-14 18:24:54