当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 讲解SQL Server数据库被挂马的解决方案

MSSQL
如何取得一个表的所有字段名用逗号分割
Sql Server下数据库链接的使用方法
修改SQL SERVER内置存储过程
oracle中解决汉字无法显示、输入问题
两台SQL Server数据同步解决方案
SQL服务器内存有两种基本管理方法:动态分配和静态分配
SQL Server里函数的两种用法(可以代替游标)
sql server的cube操作符使用详解
SQL中HAVING从句的用法
使用T_SQL脚本创建SQLServer2000后台计划作业任务
SQL Server中合并用户日志表的方法
SQL Server 本机 Web 服务的使用方案
Windows XP下安装SQL2000企业版
三步堵死SQL注入漏洞
HOW TO:使用 Osql 工具管理 SQL Server 桌面引擎 (MSDE 2000
如何获取SQL Server数据库里表的占用容量大小
查询表主键外键信息的SQL
SQL Server根据查询结果,生成XML文件
SQL Server2005 Analysis服务实践之起步
关于对sql2000查询结果进行相关度排序的测试

MSSQL 中的 讲解SQL Server数据库被挂马的解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 80 ::
收藏到网摘: n/a

案例:一个网站遭遇入侵,破坏相当严重,SQL数据库被挂马,所有的表里面大部分字段都被多次重复插入挂马代码,查看日志,还好没有涉及到服务器的安全,只是数据库那里出现了很多异常警告而已,网站确实存在漏洞。

没有办法,我只得修复数据库,因为他们没有数据库备份,根本就没有办法还原数据库啊,何况连事务日志都没有开启,试着恢复了几次都不成功,恢复数据库没有一点希望,我只得乖乖的帮他们清理挂马代码,不可能手工删除挂马代码,毕竟数据太大了,不可能去直接修改,通过四处搜寻得到了一个勉强有效的解决办法,每个表里面去执行一下这个sql语句:

update tablename set @ziduanming =replace(cast(@ziduanming as varchar(8000)),'',null)

上面的sql语句可以对应修改表,字段名,和替换内容。

其实,sql数据库挂马是一种较新的挂马方法,只要网站存在注入,并且连接数据库是db owner权限就可以进行数据库挂马,估计这次攻击的流程应该是自动化的,通过先进的扫描技术批量收集到几万网站的SQL注入漏洞,针对漏洞攻击,进行自动化的SQL注入挂马。这次应该有很多网站遭殃了,asp+mssql的是主要被攻击对象!

SQL Server数据库挂马的解决办法:

正确清理木马,注意数据库不能随便修改或删除,被挂上马后,更需要谨慎的操作。建议,先备份然后再小心清理。

如果以前没有备份的话,就利用我上面的sql命令进行修复,

如何预防SQL数据库挂马:

1、清理网站上所有注入点。

2、为网站配置可靠的防注入程序。

3、最好在网站源码中做好过滤,在数据库中限制字符的类型和长度。

4、养成经常备份数据库的习惯。大家可能无法保证天天备份数据库,但也会保证每周备份一次,如果有时间保证天天备份数据库。

5、最好是请专业的网站安全公司,对您的站和服务器做彻底的安全评估