Castle Project 功能丰富,包括一些很棒的子项目,使用它进行开发是一种乐趣。
我的团队几乎准备好交付定制的EAM,我们正在完善我们的系统。我们尝试了一些基本的 XSS 攻击并猜测:它们都有效。
即使它将运行在 Intranet 环境中,我们也不希望用户意外破坏整个系统,我们正在研究处理 XSS 问题的解决方案。
NVelocity 默认不会转义任何东西,所以这段代码:
${entity.Field}
字段包含以下内容:
<script>alert('xss!')</script>
会给我们一个很好的 xss 警报。
微软的 AntiXSS 库看起来不错:处理几种可能的 XSS 向量,等等。我们遇到了 AndyPike 的helper,但是这个解决方案会让我们重构几千行。是的,不好。这在编辑现有实体时不会处理 ActiveRecord/NVelocity 自动绑定。
问题是:使用输出编码技术,是否可以/建议修补 Castle Project 的 NVelocity 引擎?就像他们对 Brail 所做的那样?有人有更好的主意吗?
谢谢!
PS.:使用 Castle Project 的Stackoverflowers会使用这样的补丁吗?