Замок Проект полон особенностей, включает в себя некоторые удивительные подпроекты, и разработка с ним была приятной.Как обращаться с XSS на NVelocity
Моя команда почти готова доставить заказ на заказ EAM, и мы полируем нашу систему. Мы пробовали некоторые основные атаки XSS и догадывались: все они работали.
Несмотря на то, что он будет работать в среде Intranet, мы не хотим, чтобы пользователи случайно разбивали всю систему, и мы изучаем решения для решения проблем XSS.
NVelocity по умолчанию ничего не избежать, поэтому этот код:
${entity.Field}
с поля, содержащие такие вещи, как:
<script>alert('xss!')</script>
даст нам хороший предупреждение XSS.
Библиотека Microsoft AntiXSS выглядит хорошо: обрабатывает несколько типов возможных векторов XSS и так далее. Мы столкнулись с AndyPike helper, но это решение заставит нас реорганизовать несколько тысяч строк. Да, не хорошо. И это не будет обрабатывать автоматическую привязку ActiveRecord/NVelocity при редактировании существующих объектов.
Вопрос: Используя методы кодирования вывода, возможно ли/рекомендуется исправить движок NVelocity от Castle Project? Как и у Брейла? У кого-то есть лучшая идея?
Спасибо!
PS .: Stackoverflowers с использованием Castle Project будет использовать такой патч?
Только быстрое примечание: FormHelper делает HtmlEncondig до ввода значений в поле ввода. – wtaniguchi