Как избежать атак с использованием SQL-инъекций в моем приложении ASP.NET? - PullRequest
17 голосов
/ 20 ноября 2008

Мне нужно избегать уязвимости для SQL-инъекций в моем приложении ASP.NET. Как мне это сделать?

Ответы [ 16 ]

1 голос
/ 06 августа 2009

Как уже говорили другие, не объединяйте пользовательский ввод для создания динамических операторов SQL; всегда используйте параметризованный SQL при использовании динамического SQL. Однако Я укажу, что это правило также применяется при создании динамического sql внутри хранимого процесса . Этот факт люди часто упускают из виду. Они думают, что они безопасны, потому что они «используют хранимые процедуры».

0 голосов
/ 09 февраля 2017

Все говорят: «Используйте параметры». Мы должны были бы сказать это меньше, если бы это не было так извращенно сложно.

Используйте QueryFirst . Искушение соединить удаляется, и правильный путь становится самым простым. Вы создаете параметр, просто набрав @myParam в своем SQL, инструмент сделает все остальное.

отказ от ответственности: я написал QueryFirst

0 голосов
/ 17 января 2013

Использование защищенного XSS UrlEncode с использованием Microsoft.Security.Application.AntiXss.UrlEncode и внедрение SQL не будут работать Или Вы можете использовать ASP.NET - JSON - Сериализация и десериализация

Также протестируйте свое приложение с SiteDigger от Macfee Fre Tool.

Немного больше от здесь

.NET Security Toolkit v1.0 .NETMon v1.0 Validator.NET v1.0

0 голосов
/ 06 августа 2009

Книга "Руководство по созданию защищенных приложений ASP.NET" содержит раздел на эту тему.

0 голосов
/ 06 августа 2009

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

0 голосов
/ 20 ноября 2008

Попробуйте использовать хранимые процедуры и подтвердите ввод ваших данных. Не используйте прямой SQL, такой как INSERT INTO ...

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