via @萝莉部落 近日,公司网站总是被黑客攻击,经过几天的努力从利用软件杀毒、利用特征匹配人工杀毒、程序的重新安装等各种措施均无效,后来在仔细观察了以后总是发现一个情况,木马会在我网站的根目录创建 x.txt 以及 logx.txt 文件,通过查看内容能看到 恶意程序的名单,仔细的看都有一个共同的特点,就是在我的主题文件夹的 cache 文件夹里面产生一个 external_md5 值.php 木马,然后我将目光瞄准到了我的主题文件以后,通过网上查询资料,找到了漏洞的根源。
漏洞主要是因为在 timthumb 中默认定义了一个包括 Flickr、Picasa 等著名图片分享网站的白名单。黑客可以通过 timthumb 对这些白名单验证上的漏洞,使一些来自像”http://flickr.com. 域名.com”这样的域名,获取上传执行 PHP 代码的权限。也就是说,如果你的主题有使用 timthumb.php 来动态生成缩略图,黑客可以通过 timthumb 的这个漏洞,任意上传各种恶意程序到你的 timthumb.php 定义的图片缓存目录!
主要代码在:
// external domains that are allowed to be displayed on your website $allowedSites = array ( ‘flickr.com’, ‘picasa.com’, ‘blogger.com’, ‘wordpress.com’, ‘img.youtube.com’, );
似乎这个漏洞已经出了一段时间了,但是国外的一些主题还依然使用着具有漏洞的版本,从而导致网站被黑。
补救方法:
1、用最新版本的 timthumb.php 覆盖原文件; http://code.google.com/p/timthumb/
2、删除白名单;
3、服务器目录权限设置。
以下是朋友Slmint 提供的一个安全规则可以有效防范黑客运行 PHP 木马:
<Directory "D:optwwwwebrootupload"> // 注意:这里改成你需要屏蔽的目录 比如 upload 目录 php_flag engine off <Files ~ ".(php|jsp)"> Order allow,deny Deny from all </Files> </Directory>