ASP.NET: в поисках решения для XSS - PullRequest
0 голосов
/ 10 ноября 2009

У нас есть долгосрочный сайт, где скрывается XSS . Проблема заключается в том, что некоторые разработчики напрямую - без использования HtmlEncode / Decode () - извлекают Request ["sth"] для выполнения процесса, размещая в Интернете.

Интересно, существует ли какой-либо механизм, например HTTPModule, чтобы помочь нам HtmlEncode () всех элементов в запросе Http, чтобы в некоторой степени избежать XSS.

Ценю любое предложение.

Rgds, Рики

Ответы [ 2 ]

1 голос
/ 10 ноября 2009

Проблема не в получении Запрос данных без HTML-кодировки. На самом деле это совершенно правильно. Вы не должны кодировать какой-либо текст до финальной стадии вывода, когда вы выплевываете его на HTML-страницу.

Попытка скрытого кодирования входящих параметров, будь то HTML-кодировка или SQL-кодировка, совершенно неправильная вещь. Это может скрыть дыры XSS в вашем приложении, но это не исправит их. У вас все еще будет дыра, если вы выводите контент, который не был получен из параметров или был обработан с тех пор. Между тем автоматическое кодирование заполнит вашу базу данных многократно экранированными & crud.

Вам нужно исправить выходной каскад, вот в чем проблема.

0 голосов
/ 11 ноября 2009

Как сказал Бобинс, это проблема вывода, а не проблема ввода. Если вы можете изолировать, где эти данные выводятся на страницу, вы можете создать фильтр и добавить его в объект Response. Этот фильтр изолировал бы области, которые являются общими выходными данными, а затем HtmlEncode их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...