У меня есть таблица стилей XSLT, которая обрабатывает XML-документ для создания HTML.Предотвращение XSS (и других атак) в XSLT сгенерированном содержимом
Я понял, что можно манипулировать сайтом таким образом, чтобы пользователь мог предоставить любой XML, который им нравится - к сожалению, это неизбежно, поэтому я хотел бы защитить себя от XSS (и других атак) что моя таблица стилей XSLT способна безопасно обрабатывать любой документ.
Что мне нужно знать, чтобы достичь этого?
UPDATE:
Я знаю, что по умолчанию XSLT ускользает выход (который может быть отключен с помощью атрибута disable-output-escaping
) - это достаточно, чтобы предотвратить кто-то от того, чтобы внедрить вредоносные элементы HTML и атрибуты?
Не могли бы вы объяснить, почему вы разрешаете пользователям предоставлять собственные XML-документы? Можете ли вы принудительно выполнить проверку с помощью схемы, чтобы избежать каких-либо проблем? – sisve
@Simon XML-документ - это план выполнения SQL-запросов - им не разрешено предоставлять его, но его достаточно просто для создания запроса (его для [data explorer] (http://data.stackexchange.com/)) который содержит XML-документ, который рассматривается как план выполнения - я не могу придумать, как предотвратить это. Существует уже [схема] (http://schemas.microsoft.com/sqlserver/2004/07/showplan/), но я не уверен, насколько валидация этой схемы поможет предотвратить атаки? – Justin
Это * не * вопрос XSLT - исправлен. –