对网站上被黑客入侵的代码的解释


Explanation of hacked code on a site

我在一个被黑客入侵的网站上发现了这段代码,它到底做了什么?它似乎扰乱了一些文件权限,怎么能允许攻击者进入?

http://pastebin.com/jFaFdyKQ

这并不是那么邪恶。。。你确定这是"黑客入侵"的部分吗?

正如你所看到的,最后几行都被注释掉了,所以它们什么都没做。唯一的"活动"代码行是:

system('chmod -R 744 *');
system('find . -type d -exec chmod 755 {} ';');

system()函数在服务器本身上执行一个命令。因此,您必须查看给定的命令,这些命令是unix命令:

chmod -R 744 *
find . -type d -exec chmod 755 {} ';

第一行说;递归地将文件权限(这个工作目录中的所有内容,包括它的子目录)更改为modus 744(全部读-读)。第二行找到当前工作目录中的所有目录,并将modu更改为755,这实际上是目录的标准(当在第一个命令之后直接执行时,相当于chmod +X -R ./*

老实说,我没有看到任何危害,因为目录获得了标准权限,文件只为文件所有者提供了一些额外的权限。当群组和世界也获得所有权限时,这将是危险的。。。

据我所知,这个命令行用于安装Magento插件

system('./pear install -f magento-core/Mage_All_Latest');

在我看来,这与攻击任何东西无关,更重要的是,它是这个插件的安装程序

e: 但是,嘿,我对PHP了解不多,只是提到了Magento,我搜索了那个命令行,找到了插件,它正在设置文件权限等等。所以,假设它是安全的是安全的,对吧?

最后几行注释为/* */,唯一执行的行是:

system('chmod -R 744 *'); 
system('find . -type d -exec chmod 755 {} ';');

chmod更改基于Linux/Unix/OSX的操作系统上文件/目录的权限。

第一个命令将对当前目录中所有文件的权限递归地(-R)更改为744,第二个命令将当前目录中的所有目录递归地更改为755

通常,此代码将文件的权限更改为755,因此一些文件可以由外部单词运行,而不仅仅是由内部脚本运行。

这里的代码是被禁用的,所以可能是黑客禁用了为magento商店安装任何更新的可能性:

/*   /////
system('./pear mage-setup');
system('./pear install -f magento-core/Mage_All_Latest');
//system('chmod -R 744 *');
//system('find . -type d -exec chmod 755 {} ';');
*/