当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > 网站木马检测小程序与常见木马清除方法

建站经验
站长讲座第九期 UCH官方SNS专家杜均交流地方性SNS运营经验
十个月聚集15万站长会员 站长论坛是如何做到的
团队管理及交流论坛的重要性 运营经验分享
大家炒作 才是真的炒作
草根50天建站记录:第一天(连载)
百度google没收录也可以做到日IP1000+
新手做站一个月 决定马上重新来过
新站真的被百度封了嘛?原因分析
没有回头客的垃圾站 如何去赢得搜索引擎
水易:谈谈这几年做垃圾网站的网赚经历
成功网站的三项简单能力 内容设计以及技术
50天建站记录 连载:第四天网站的节日推广
网站可用性设计 6个最普遍可用性设计错误
50天建站记录连载:第二天关键字选择方面
堆积自己的故事 为你的人生留下一个好站!
增加有效内容 7种减少网站重复内容的方法
概念释疑:URL绝对路径和相对路径与SEO
与企业网站有区别 谈行业网站的设计心得
软文的推广已经深入人心了吗?
详解网站的301转向以及网址的规范化建设

建站经验 中的 网站木马检测小程序与常见木马清除方法


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

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

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

eval(base64_decode(..............));

?>

这样的代码,而且基本都是如此,下面是检测程序:

function parAllFiles($d)

{

$dh = dir($d);

while($filename = $dh->read() )

{

if($filename=='.' || $filename=='..') continue;

$tfile = $d.'/'.$filename;

if(is_dir($tfile))

{

//echo "检查到: $tfile
";

parAllFiles($tfile);

}

else

{

if(!ereg("\.php", $tfile)) continue;

$bd = file_get_contents($tfile);

if(eregi("eval\(", $bd))

{

echo "$tfile
\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)