-1

我在文本类型的数据库表中有一个列。此列可以包含 sql 语句。当我尝试将此文本插入 sql server 时,我收到了来自机器上安装的防病毒软件的 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.* "
4

2 回答 2

0

使用参数。

所有主要的 RDBMS 都在 C# 中可用。

于 2012-07-18T14:59:32.263 回答
0

在将文本存储到数据库之前,我会尝试以某种方式对文本进行编码。像 Rot13 这样简单的东西应该可以解决问题。

于 2012-07-18T14:58:33.623 回答