Anti XSS и классический ASP
В настоящее время я пытаюсь защитить свое классическое приложение ASP от XSS. Я столкнулся с AntiXSS от Microsoft в сети, и мне было интересно, будет ли это работать с классическим приложением?
Если у вас нет каких-либо идей, как я могу заниматься дезинфекцией струн?
Ответы
Ответ 1
Чтобы деактивировать строки, я бы кодировал HTML-код для всего вывода, так что вам не нужно обходить специальные символы или огромные выражения регулярных выражений
Server.HTMLEncode(string)
Двумя наиболее важными контрмерами для предотвращения атак с межсайтовыми сценариями являются:
- Ограничить ввод.
- Кодировать вывод.
через Как предотвратить межсайтовый скриптинг в ASP.NET (я знаю, что я не классический asp, но есть похожие принципы)
Ответ 2
Когда функции не существуют в классическом ASP, напишите их.
Ответ 3
Если вам нужно разрешить определенные HTML-теги (как и в моем текущем проекте), вы можете использовать регулярное выражение, чтобы разрешать только те теги и другие, например:
set objRegExp = new RegExp
with objRegExp
.Pattern = "<^((b)|(i)|(em)|(strong)|(br))>.*</.*>"
.IgnoreCase = varIgnoreCase
.Global = True
end with
cleanString = objRegExp.replace(originalString, "")
Ответ 4
Не легко - вам нужно сделать COM-вызываемую оболочку, установить на серверы и т.д. Я просто не думаю, что это подходит для "классического" ASP.
Ответ 5
<%
Response.AddHeader "X-XSS-Protection", "1"
%>