我的一个网站被黑客入侵,在清理过程中,我发现了一些带有神秘代码的文件。经过一点研究,我发现一段字符串在没有传递给函数的情况下被执行。我有点困惑于PHP是如何执行这个字符串的?PHP会自动eval
字符串吗?
以下是我在将$VCAzeJzvMaKiJXvfeJZd='99V38=jVN4C;.Z<'^'ZK3RLX50;Z OG5R';
添加到测试脚本时发现的一段字符串,如下所示,它生成create_function
:
<?php
echo $VCAzeJzvMaKiJXvfeJZd='99V38=jVN4C;.Z<'^'ZK3RLX50;Z OG5R';
// output : create_function
第页。S: 在我发现的恶意文件中,没有echo
,只有一个长而神秘的字符串。出于测试目的,我在上面的代码中添加了echo
。
不,字符串不会自动得到eval’ed,在这种情况下,实际上是两个字符串按位Xor’d。注意两个字符串之间的^
。