Анти-XSS и Классический ASP - PullRequest
13 голосов
/ 07 апреля 2009

В настоящее время я пытаюсь защитить свое классическое приложение ASP от XSS. Я наткнулся на AntiXSS от Microsoft в сети, и мне было интересно, будет ли это работать с классическим приложением?

Если нет, то у вас есть какие-либо идеи, как я могу провести санацию струн?

Ответы [ 5 ]

14 голосов
/ 07 апреля 2009

Чтобы очистить строки, я бы закодировал все выходные данные в формате HTML, чтобы вам не приходилось тратить время на специальные символы или огромные выражения регулярных выражений

Server.HTMLEncode(string) 

Двумя наиболее важными контрмерами для предотвращения межсайтовых скриптовых атак являются:

  • Ограниченный ввод.
  • Кодированный вывод.

через Как: предотвратить межсайтовый скриптинг в ASP.NET (я знаю, что я не классический asp, но есть похожие принципы)

2 голосов
/ 07 апреля 2009

Если функции не существуют в классическом ASP, напишите их.

1 голос
/ 28 октября 2009

Если вам нужно разрешить определенные теги HTML (как я делаю в моем текущем проекте), вы можете использовать регулярное выражение, чтобы разрешить только эти теги и никаких других, например:

set objRegExp = new RegExp
with objRegExp
    .Pattern = "<^((b)|(i)|(em)|(strong)|(br))>.*</.*>"
    .IgnoreCase = varIgnoreCase
    .Global = True
end with
cleanString = objRegExp.replace(originalString, "")
0 голосов
/ 28 июля 2015
<% 
Response.AddHeader "X-XSS-Protection", "1" 
%>
0 голосов
/ 07 апреля 2009

Не легко - вам нужно сделать обертку, вызываемую COM, установить на серверах и т. Д. Я просто не думаю, что она подходит для «классического» ASP.

...