数据库被注入js 木马 解决方法 通过
2009-10-07 16:08
183 查看
今天上班,刚做好的一个网站挂了二个多月,被挂马了,并且是在数据库时面. 表现特征为 <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
大功告成
一个人的孤独,一个人的封闭,不如一起努力!
然而在网上查询了一下,找到一此方法,刚开始并不知道是数据库里面被挂马了,找了一遍网页没有发现任何的问题.说明是数据库的问题了.所以就打开数据库来查看一下,大部分字段已经有<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
大功告成
一个人的孤独,一个人的封闭,不如一起努力!
相关文章推荐
- 数据库被注入js 木马 解决方法 通过
- spr 4000 ingmvc 属性放数据库中解决方法 以及 @Controller 中 使用@vlaue无法注入属性值问题详解
- js通过为function设置自定义属性的方法解决闭包陷阱
- javascript获取超链接传递的参数,此方法亦能解决2个通过js超链页面传递参数的乱码问题
- js 通过调用方法终止js代码继续执行的问题(采用throw解决)
- 数据库被注入 JS脚本 代码, 清除 方法
- 黄聪:jquery mobile通过a标签页面跳转后,样式丢失、js失效的解决方法
- 通过js注入解决浏览器输入法方案文档
- js通过innerHTML向div中追加标签,添加后之前输入的内容都清空了解决方法
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- servlet层调用biz业务层出现浏览器 500错误,解决方法 dao数据访问层 数据库Util工具类都可能出错 通过新建一个测试类复制代码逐步测试查找出最终出错原因
- WebSocket注入Bean后报null,操作不了数据库的解决方法
- 解决ie6 ie7中js不能通过appendChild("tr")添加table行的方法
- MSSQL数据库被插入JS/sql注入挂马的解决方法
- 浅析Node.js中使用依赖注入的相关问题及解决方法
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得ApplicationContext的方法
- ASP+MSSQL2000 数据库被批量注入后的解决方法第1/2页
- 解决ie6 ie7中js不能通过appendChild("tr")添加table行的方法
- 解决ie6 ie7中js不能通过appendChild("tr")添加table行的方法