易截截图软件、单文件、免安装、纯绿色、仅160KB

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

讲解SQL Server数据库被挂马的解决方案
http://www.cnhacker.com/Security/Plan/200808/t20080822_6383.html
案例:一个网站遭遇入侵,破坏相当严重,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、最好是请专业的网站安全公司,对您的站和服务器做彻底的安全评估。


相关文档:

获取SQL Server所有数据库名,表名,字段名


/*
 * Source URL: http://jonsion.javaeye.com/blog/511584
 */
1. 获取所有数据库名
1> SELECT name from master..sysdatabases;
2> go
2. 获取所有表名
1> USE master
2> go
1> SELECT name from sysobjects WHERE type='U';
2> go
3. 获取所有字段名
1> SELECT name ......

SQL分割逗号的函数和用法

      在程序中我们可能经常会遇到这种情况,比如要取一个listbox里面的选择项,得到的结果可能是string ID="id1,id2,id3,id4",然后我们要把这些ID插入到数据库中,同时每个id对应的是要插入一条记录。实现的方法有很多,但是如果我们通过下面这个函数(RecurrentSplit)就能简单的达到 ......

在SQL Server 删除重复数据

删除数据库表中某一字段的重复纪录,只想保留一条记录可用以下方法:
执行以下语句:
declare @max integer,@id varchar(18) --此处变量类型根据字段类型设置
declare cur_rows cursor local for select 字段,count(*) from 表名group by 字段 having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
wh ......

sql 2005整合bat内容

@ECHO OFF
ECHO /////////////////////////////////////////////////
ECHO // Microsoft SQL Server 2005 整合、集成SP3
ECHO // Author  : cxygoo
ECHO // Date    : 2008-12-22
ECHO /////////////////////////////////////////////////
ECHO 运行此批处理前,得建目录:C:\SQL2005,C:\SQL200 ......

Java如何防sql注入

采用预编译语句集,它内置了处理SQL注入的能力,只要使用它的setString方法传值即可:
          String sql= "select * from users where username=? and password=?;
          PreparedStatement preState = conn.prepare ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号