怎样检测网站木马和清除网站木马?

1、中国的开源软件很多,但同时也给我们带来了很多安全问题,网站挂马成发站长最头痛的事情,在这里我写一个检测网站木马PHP的小程序让大家参考。 

软件原理:一般的木马都是加密的,所谓的加密反而让我们检测带来了方便,PHP木马的最明显特征是使用了 eval 与 base64_decode 这函数,这样就很好去检测了,当然有些CMS的正常文件也可能出现这东西,区别是CMS的文件打开是正常一行一行的,而木马通常是:  
<?php 
eval(base64_decode(..............)); 
?> 

复制代码 
这样的代码,而且基本都是如此,下面是检测程序:  
<?php 
function parAllFiles($d) 

        $dh = dir($d); 
        while($filename = $dh->read() ) 
        { 
                if($filename==’.’ || $filename==’..’) continue; 
                $tfile = $d.’/’.$filename; 
                if(is_dir($tfile)) 
                { 
                        //echo "检查到: $tfile <br />"; 
                        parAllFiles($tfile); 
                } 
                else 
                { 
                        if(!ereg("\.php", $tfile)) continue; 
                        $bd = file_get_contents($tfile); 
                        if(eregi("eval\(", $bd)) 
                        { 
                                echo "$tfile <br />\r\n"; 
                        } 
                } 
        } 



parAllFiles(dirname(__FILE__)); 

?> 

复制代码 
使用这个检测程序会把所有带eval的文件作为可疑文件,打开来看一下,如果代码像前者那样的,肯定是木马了。 
对于有使用服务器的用户,记住设置网站权限的一个原则:存放HTML、附件的文件不给予执行脚本权限,执行脚本的文件夹不给予写入的权限。 

2、MySQL提权漏洞的处理 

MySQL提权漏洞在windows服务器几乎是致命的,如果你把WEB木马都清理后,发现黑客还能挂马,很可能是这个问题所致的,这要作下面几方面处理: 
(1) 网站的用户千万不要用root用户,如果建立一个没权限的用户,然后指定它有操作某数据库的权限; 
(2) 检查网站或windows文件,看是否有 udf.dll 或 xudf.dll (x通常是数字1、2、3等),如果有,说明你的服务器已经中招了,这种木马是致命的,清除方法是先用net stop mysql停止Mysql,然后删除这些dll文件,然后用 net start mysql 重新启动mysql。 
(目前在phpcms2008、php168最新版都已经发现可能实现mysql提权的致命漏洞,建议做新站的尽量用dedecmsV5.3或Ecms V5.1)  

 

零度电脑_基础知识_最新消息