在尝试使用sql语句存储文本时接收sql注入攻击

问题描述:

我在数据库表中有一个类型为text的列。该列可以包含sql语句。 当我尝试将此文本插入到sql服务器时,我正在从机器上的反病毒软件instaleld获得sql注入攻击。在尝试使用sql语句存储文本时接收sql注入攻击

我如何转义文本以防止病毒感染它。

一个示例文本是:

"*By supplying a malformed @scriptfile parameter an attacker can run arbitrary 
commands: 
use master 
declare @cmd nvarchar(4000) 
exec sp_MScopyscriptfile N'c:\autoexec.bat" c:\cp.txt&echo hello > 
c:\ccc.bbb & echo "hello',@cmd OUTPUT 
print @cmd 
The above query will copy the autoexec.bat file to cp.txt but also echo hello to a file called ccc.bbb.* " 
+1

你现在插入的代码是什么? – 2012-07-18 13:57:05

我会尝试编码,你把它存储在数据库中不知何故之前的文本。像Rot13这样简单的应该做的伎俩。

使用参数。

所有的主RDBMS都可以在C#中使用它们。

+0

我在想他正在使用参数,但SQL服务器上运行的东西无论如何阻止了它(尽管我可能在这里读取的行数太多) – 2012-07-18 15:00:38

+0

我正在使用sqlbulkcopy插入数据表。该字符串是一个包含sql语句的合法字符串,但反病毒却认为我正在执行sql注入攻击。 – 2012-07-19 01:58:44