Castle Project est plein de fonctionnalités, comprend des sous-projets impressionnants, et le développement avec lui a été un plaisir.Comment gérer XSS sur NVelocity
Mon équipe est presque prête à livrer un produit personnalisé EAM et nous polissons notre système. Nous avons essayé quelques attaques de base XSS et devinez: Ils ont tous travaillé.
Même si elle fonctionnera dans un environnement Intranet, nous ne voudrions pas que les utilisateurs cassent accidentellement tout le système, et nous étudions des solutions pour gérer les problèmes XSS.
NVelocity par défaut n'échappe rien, si ce code:
${entity.Field}
avec champs contenant des choses comme:
<script>alert('xss!')</script>
nous donnerait une belle alerte XSS.
La bibliothèque AntiXSS de Microsoft a l'air bien: gère plusieurs types de vecteurs XSS possibles, et ainsi de suite. Nous sommes tombés sur le helper d'AndyPike, mais cette solution nous ferait refactoriser quelques milliers de lignes. Oui, pas bien. Et cela ne gèrerait pas la liaison automatique ActiveRecord/NVelocity lors de la modification d'entités existantes.
La question est: En utilisant des techniques de codage de sortie, est-il possible/recommandé de patcher le moteur NVelocity de Castle Project? Tout comme ils l'ont fait avec Brail? Quelqu'un a une meilleure idée?
Merci!
PS .: Stackoverflowers en utilisant Castle Project utiliserait ce patch?
Juste une note rapide: FormHelper ne HtmlEncondig avant de mettre les valeurs dans les champs d'entrée. – wtaniguchi