SQL查询删除SQL注入

时间:2011-12-02 09:50:47

标签: sql sql-injection

我的服务器昨天遭到了许多其他人的攻击。我有两个表放入外星人脚本。

我的选择是: - 从数千个数据库条目中手动删除脚本。 - 找到表的副本并替换它们。

我希望有一个SQL查询,找到以**"></title>\****<script**开头并以**</script><!--**开头的脚本,并从拥有它的所有数据库条目中删除它。

实施例: 所以查询会看到像"></title><script> </script><!--Aland Islands and remove "></title><script> </script><!--这样的数据库条目 只留下Aland Islands

P.S。我发布了我要删除的完整脚本以防万一。很抱歉由于某种原因stackoverflow不允许发布这些信息。

3 个答案:

答案 0 :(得分:1)

一种选择是使数据库脱机,将表导出到加载脚本中,然后使用文本编辑器或sed删除恶意文本,然后截断表并使用加载脚本加载它们。

答案 1 :(得分:0)

一个例子:

DELETE FROM infected_table
FROM
    infected_table i
WHERE
    i.script_column LIKE '>%'

请在运行之前使用SELECT尝试LIKE子句,或者在提交之前在事务中运行检查结果是否正确。

答案 2 :(得分:0)

首先找到您网站上所有易受攻击的链接,然后更改您正在使用的mysql版本,因为有助于攻击者查找您的网站的错误是由于错误造成的。如果您的PHP上的Web应用程序有几个其他错误,这有助于攻击者发现站点是否易受攻击。您可以使用acunetix Web漏洞扫描程序查找Web应用程序上的所有可关性。