我的一个客户的一个数据库被黑了。我正在尝试重建数据。该站点正在运行带有 SQL Server 数据库的经典 ASP。我相信我已经找到了黑客的弱点,并暂时删除了该入口点。
数据库中的每个文本列都附加了一些 html 标记和内联 script/js 标记。
下面是一个字段示例:
all</title><script>
document.write("<style>.aq21{position:absolute;clip:rect(436px,auto,auto,436px);}</style>");
</script>
<div class=aq21>
<a href=http://samedaypaydayloansonlineelqmt.com >same day payday loans online</a>
<a href=http://samedaypaydayloan
此示例在列中的Users
表中UserRights
。初始值为all
,但随后您可以看到附加的链接。
我需要编写一个正则表达式脚本,它将搜索数据库中每个表的每一列中的所有字段并删除这个额外的标记。
本质上,如果我尝试匹配</table>
,那么该字符串及其附加的所有内容都可以替换为空白字符串。
对于同一列中的每个字段,所有这些附加字符串都是相同的。但是,每个表中有多个列。
这就是我到目前为止一直在做的事情,替换被黑的部分,但是一个好的正则表达式可能会帮助我,尽管我的正则表达式技能......很糟糕。
UPDATE [databasename.[db].[databasetable]
set
UserRights = replace(UserRights,'</title><script>document.write("<style>.aq21{position:absolute;clip:rect(436px,auto,auto,436px);}</style>");</script><div class=aq21><a href=http://samedaypaydayloansonlineelqmt.com >same day payday loans online</a><a href=http://samedaypaydayloan','');
感谢任何正则表达式帮助和/或提示。