Являются ли ASP.net __EVENTTARGET и __EVENTARGUMENT подверженными SQL-инъекциям? - PullRequest
3 голосов
/ 05 апреля 2010

Проверка безопасности была проведена в отношении одного из наших приложений ASP.net, и в результатах теста была возвращена экспозиция SQL-инъекций, которая считается элементом высокого риска.

Выполненный тест передал инструкцию SQL в качестве значения __EVENTTARGET и __EVENTARGUMENT. Мне интересно, поскольку эти 2 значения являются автоматически сгенерированными скрытыми полями ASP.net, используемыми для функции автоматической обратной передачи платформы и содержат информацию, относящуюся к элементам управления, инициирующим обратную передачу, действительно ли существует вероятность внедрения SQL-кода, если вы никогда не будете вручную Вызов и / или извлечение значений из этих параметров в вашем коде позади?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2010

Вы всегда должны предполагать, что грязные данные могут быть переданы из вашей формы. Допуская загрузку из постбэка, __EVENTARGUMENT может быть изменен со стороны клиента с помощью JavaScript.

Всегда используйте передовой опыт, чтобы убедиться, что вы не разрешаете sql-инъекцию; и использовали параметризованные операторы SQL или другой безопасный метод.

http://msdn.microsoft.com/en-us/library/ms998271.aspx

1 голос
/ 05 апреля 2010

.. если вы никогда не звоните вручную и или вытаскивая значения из этих параметры в вашем коде позади ...

Предполагая, что приведенное выше утверждение верно, я не вижу этих параметров восприимчивых к SQL-инъекции. Возможно, вы запустили автоматическое сканирование, и это ложная тревога?

...