Asp.Net Validaterequest False - PullRequest
       8

Asp.Net Validaterequest False

3 голосов
/ 03 апреля 2009

Я создаю пользовательский интерфейс программы Asp.Net, где пользователи могут просматривать и изменять информацию в базе данных. По этой причине им необходимо иметь возможность использовать все формы символов, но мне все еще нужно сохранять безопасность HTML и самой программы. По этой причине я использую самодельный метод, который заменяет опасные символы, такие как '<' и т. Д., На их html-коды, пока они обрабатываются вне текстового поля (выдается при загрузке страницы, поэтому они не имеют никакой есть). </p>

Теперь моя дилемма: чтобы сделать это, я должен отключить параметр Validaterequest в соответствии с темой, программа выдаст жалобу. Каковы возможные последствия установки значения False?

SQL-запрос уже параметризован, и я отфильтровываю только следующие отметки:

& # < > " ’ % @ =

Вопрос: я оставляю программу открытой для угроз, даже если я обрабатываю символы выше? По сути, это приложение для внутренней сети, в котором только несколько человек смогут получить доступ к программе. Тем не менее, информация, к которой она обращается, довольно важна, поэтому следует избегать даже непреднамеренных неудач. Я буквально понятия не имею, что вообще делает вещь Validaterequest.

Редактировать: Хорошо, спасибо за ответы. Я просто пойду с этим, как и планировалось изначально.

Ответы [ 3 ]

4 голосов
/ 03 апреля 2009

Основные вещи Запрос на проверку ищет символы <и>, чтобы вы не открывали сайт до того, как злоумышленники публикуют скрипт или HTML на вашем сайте.

Если вас устраивает код, который вы удалили с HTML-разметки, или вы не отображаете сохраненные данные обратно на веб-сайт без обработки, то все будет в порядке.

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

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

& # < > " ’ % @ =

думаю, что опытные пользователи могут по-прежнему использовать команду xp_ или даже использовать функцию CONVERT () для выполнения ASCII / бинарной автоматической атаки. Пока вы параметризовали все входные данные, все должно быть в порядке.

1 голос
/ 03 апреля 2009

Я думаю, что проблема не только в атаках с использованием SQL-инъекций, но и в межсайтовых сценариях и атаках JS. Чтобы предотвратить это, вы не можете полагаться только на параметризованные запросы, вы должны выполнить «очистку» HTML-кода, отправляемого пользователем! может быть, такой инструмент, как HTML Tidy может помочь.

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