SQL Server инъекция - PullRequest
       4

SQL Server инъекция

3 голосов
/ 02 сентября 2011

Новое в веб-разработке и освоении чьего-то кода. У них есть функция для предотвращения внедрения SQL, для базы данных SQL Server

function safe(val, maxsize)
   dim i,
   terms = array(
      "cast",
      "select",
      "varchar",
      "declare",
      "drop",
      ";",
      "--",
      "insert",
      "delete",
      "xp_"
   )
   val = left(val,maxsize)
   val = trim(val)
   for i = 0 to ubound(terms)
      val = replace(val, terms(i), "e_" & val & "_e", vbTextCompare)
   next
   val = replace(val, "'", "''")
   makesafe = val
end function

Не решается прикасаться к этому, но в этом что-то не хватает? Кажется, иногда они взламываются

Ответы [ 3 ]

4 голосов
/ 02 сентября 2011

следующая статья должна помочь:

http://tugberkugurlu.com/archive/sql-injection-vs-lethal-injection-protection-against-sql-injection

Не стоит идти по этому пути с string.Replace

2 голосов
/ 02 сентября 2011

Я бы не стал полагаться на такую ​​функцию для предотвращения атак с использованием SQL-инъекций. Параметризованные запросы являются обязательными. Есть почти наверняка некоторые инъекционные тексты, которые вы пропустите, используя подход, который вы перечислили.

2 голосов
/ 02 сентября 2011

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

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