数据库被注入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
大功告成
一个人的孤独,一个人的封闭,不如一起努力!