能够解密和验证来自服务器的 PHP 代码

Ability to Decrypt and Verify PHP Code from Server

背景

这感觉有点倒退,但我在尝试验证我的 Web 主机上一个看起来可疑的 PHP 文件的内容时遇到了麻烦。有问题的文件自称为 elianore-highlighter.php,最后一次修改是在今年 4 月 30 日,就在我的网站开始收到来自乌克兰、俄罗斯联邦和中国 IP 地址的未知人员登录尝试失败之前。我已经屏蔽了我找到的 IP,可以这么说并开始封堵舱门。

情况

我想解密 PHP 文件的内容以完全了解发生了什么。我假设它是 base64 编码的,但是我的浏览器中基于 atob('suspiciousString') 的简单浏览器没有 return 任何有用的东西。我的 PHP-fu 有点欠缺,因为过去几年我主要关注其他语言。

Google'd "elianore-highlighter.php" 并没有看到任何非常有效或相关的弹出窗口(至少在第一页)并且 SO 上没有任何内容似乎立即相关。

出于谨慎考虑,我将文件压缩成一个 zip 文件并将其从服务器中删除,只是为了安全起见,所以它目前不在播放中。

问题

我如何安全地着手解密以验证它?显然我对此持怀疑态度,因为我不确定它在 4 月 30 日之前的来源或内容。

这是the pastebin of the source of the file。我建议谨慎。

[更新]

一样,正确查看内容的能力是反转strrev调用,然后执行base64解码。

此外,正如我在这个问题下的评论所表明的那样,我驳斥了将其关闭为 'off topic' 的愿望,因为这不是 'help my site was hacked' 问题,这是特定于相关代码的,以代码为主要主题,并以代码为中心的答案。

来自 Whosebug 之旅,一个问题应该:

"focus on questions about an actual problem you have faced. Include details about what you have tried and exactly what you are trying to do."

提示提问一下:

由于我的问题特别依赖于我遇到的代码问题,包括有关我尝试和想要完成的内容的详细信息,以及对特定于语言的算法和技术的关注,我相信这是完全有效的。

[/更新]

好吧,对于初学者来说,应用 strrev 时的代码会将一些字符串从 "lave" 切换到 "eval",这应该会引发标志。

您可以 base 64 解码有效负载字符串(显然是在反转它之后),但足以说明如果您没有构建它,您不希望它出现在您的网站上。

强化服务器是个好计划。

编辑

您可以安全地 运行 对字符串进行 strrev 和 base 64 解码。不用说,但是不要以任何形式调用任何代码。