数据库被注入js 木马 解决方法 通过

 

          今天上班,刚做好的一个网站挂了二个多月,被挂马了,并且是在数据库时面. 表现特征为 <script src=http://z360.net></script>

 

          在网上查询了一下,找到一此方法,刚开始并不知道是数据库里面被挂马了,找了一遍网页没有发现任何的问题.说明是数据库的问题了.所以就打开数据库来查看一下,大部分字段已经有<script src=http://z360.net></script>  这样的特征了,

   所以就是网上查了一下解决方案:

解决方法为 :

            

 

declare @ReplaceSourceStr varchar(100),@ReplaceDescStr varchar(100)
select @ReplaceSourceStr='<script>',@ReplaceDescStr=''
declare my_cursor cursor scroll
for
select case when cols.xtype=35 or cols.xtype=99 then
'update '+tbls.name+' set ' + cols.name + '=replace(cast('+cols.name+' as varchar(8000)),'''+@ReplaceSourceStr+''','''+@ReplaceDescStr+''')'
else
'update '+tbls.name+' set ' + cols.name + '=replace('+cols.name+','''+@ReplaceSourceStr+''','''+@ReplaceDescStr+''')'
end
from
(select * from sysobjects where xtype='u') tbls
inner join
syscolumns cols on cols.id=tbls.id
where cols.xtype in (select xtype from systypes where name in('varchar','nvarchar','ntext','text','char' ))


open my_cursor
declare @fname varchar(2000),@sum int
set @sum=0
fetch next from my_cursor into @fname
while(@@fetch_status=0)
begin
set @sum=@sum+1
exec(@fname)
fetch next from my_cursor into @fname
end
print @sum
close my_cursor
deallocate my_cursor

 

它的功能为:   就是把这个数据库下,所有的表中的varchar','nvarchar','ntext','text','char'类型的字段,里中的,都替换掉

 

 

 

最后将:

 

 select @ReplaceSourceStr='<script>',
 把这个<script> 换成你被注入的js

 

大功告成

 

 

 

一个人的孤独,一个人的封闭,不如一起努力!

posted @ 2009-10-07 16:08  凡海雨  阅读(411)  评论(0编辑  收藏  举报