SQL Server Dynamic SQL с предложением LIKE и SQL Injection

У меня динамически построенный SQL, как показано ниже. Мой вопрос: уязвим ли он для SQL Injection? Если да, как мне его исправить?

--search title only if @SearchType =2 BEGIN SET @strSQL = @strSQL + 'AND (IDownload.FileTitle LIKE ''%'[email protected]+'%'' ) ' END 

Да, проверьте:

 CREATE TABLE Test (Id int) GO CREATE TABLE IDownload (FileTitle nvarchar(100)) DECLARE @strSQL nvarchar(max) DECLARE @Search nvarchar(max) = 'a'') DROP TABLE Test --' SET @strSQL = 'SELECT 1 FROM IDownload WHERE 1 = 1 ' SET @strSQL = @strSQL + 'AND (IDownload.FileTitle LIKE ''%'[email protected]+'%'' ) ' PRINT @strSQL EXEC sp_executesql @strSQL DROP TABLE IDownload 

Я могу удалить таблицу Test проходящую специальную строку в @Search . Перепишите свой код с помощью процедуры и параметров sp_executesql .

  • Sql LIKE на арабском языке?
  • MS-SQL Список адресов электронной почты LIKE statement / regex
  • SQL 'like' выражение соответствует всем значениям varchar (т. Е. Фактическая фильтрация не выполнена)?
  • Создать SQL 'LIKE' Statment, который ищет конкретные шаблоны чисел и букв
  • LIKE с значениями, разделенными запятыми
  • SQL Server оптимизирует запрос LIKE ('%%')?
  • Как связать% и имя столбца в инструкции LIKE
  • Несколько операторов LIKE в TSQL
  • Поиск ключевого слова с LIKE% %
  • SQL Server, объединяющий% и подстановочные знаки в инструкции LIKE
  • Соответствие сложного шаблона в SQL Server LIKE?
  • Interesting Posts

    JDBC SQLServerException: «Этот драйвер не настроен для интегрированной проверки подлинности».

    Объекты, сохраненные в неправильном порядке, без открытых внешних ключей

    Блокировка таблицы SQL Server в длинном запросе – решение: NoLock?

    LINQ настолько медленный, что с огромной таблицей базы данных

    Если среда разработки отключает внешние ключи?

    Есть ли библиотека JS, которая поддерживает запись linq в sql-запросы с nodejs?

    Как указать последнее имя базы данных в SQL-скрипте Shrink?

    Дата SQL Server Формат зависит от пользователя?

    Ошибка SqlServer Types во время сборки

    Какие привилегии пользователю требуется запросить использованный размер в базе данных SQL Azure?

    Как получить значение xml из столбца таблицы

    Конкретный день текущего месяца и года

    Как использовать Dapper с MS SQL Server (2012) Колонка геопространственных данных / SQLGeography

    Как разбить 4 столбца, одну строку на 2 столбца, две строки?

    Индекс рассчитанных столбцов триггеров 900 байтов

    Давайте будем гением компьютера.