Как я могу предотвратить уязвимость XSS при использовании Flex и ASP.NET для сохранения файла? - PullRequest
1 голос
/ 09 ноября 2009

Я реализовал функцию создания PDF в своем приложении Flex с использованием alivePDF, и мне интересно, создает ли процесс, который я использовал для передачи файла пользователю, XSS-уязвимость.

Это процесс, который я сейчас использую:

  1. Создание PDF-файла в приложении flex.
  2. Отправьте двоичный файл PDF на сервер, используя POST, вместе с именем файла, чтобы доставить его как.
  3. Сценарий ASP.NET на сервере проверяет имя файла, чтобы убедиться в его правильности, а затем отправляет его обратно пользователю в виде вложения HTTP.

Учитывая это, какие шаги я должен предпринять, чтобы предотвратить XSS?

Ответы [ 2 ]

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

Как это будет использовать XSS? Вы не выводите что-то напрямую пользователю. Файловая система будет просто отклонять странные символы, и при помещении файла в выходной поток имя или содержимое не имеют значения.

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

Есть ли другие параметры GET или POST, кроме имени файла?

Для предотвращения XSS существует три основных стратегии: проверка, экранирование и фильтрация.

Проверка: при обнаружении недопустимых символов отклоните запрос POST (и выдайте ошибку пользователю).

Экранирование: вероятно, не применимо при сохранении файла, поскольку ваша ОС будет иметь ограничения на допустимые имена файлов.

Фильтрация: автоматически удаляет параметр имени файла POST любых недопустимых символов. Вот что я бы порекомендовал для вашей ситуации.

Внутри сценария ASP.NET немедленно возьмите строку POST и удалите следующие символы: <> & '"?% #; +

...