我在一个 php 网站上工作,它经常被恶意软件感染。我已经完成了所有安全步骤,但失败了。但我知道它每次都会感染我的代码。它出现在我的 php 索引文件的开头,如下所示。
<script>.....</script><?
谁能帮助我如何删除服务器文件夹中每个索引文件的起始块代码?我将为此使用 cron。
我已经完成了删除 javascript 恶意软件的正则表达式问题,但没有找到我想要的。
我在一个 php 网站上工作,它经常被恶意软件感染。我已经完成了所有安全步骤,但失败了。但我知道它每次都会感染我的代码。它出现在我的 php 索引文件的开头,如下所示。
<script>.....</script><?
谁能帮助我如何删除服务器文件夹中每个索引文件的起始块代码?我将为此使用 cron。
我已经完成了删除 javascript 恶意软件的正则表达式问题,但没有找到我想要的。
您应该更改您网站的 FTP 密码,并确保没有在后台运行的程序在您的服务器上打开 TCP 连接,从而使某些远程人员能够更改您的站点文件。如果您在 Linux 上,请检查正在运行的进程并杀死/删除所有可疑的进程。
您还可以使用 ROOT 将所有服务器文件设为只读...
无论如何,应该归咎于木马/恶意软件/未经授权的 ftp 访问,而不是 JavaScript。
此外,这更像是一个超级用户的问题......
客户经常打电话给我,在他们无法控制的主机服务器上对他们未备份、受 PHP 恶意软件感染的网站进行消毒。
如果我可以获得 shell 访问权限,这是我编写的要运行的脚本:
( set -x; pwd; date; time grep -rl zend_framework --include=*.php --exclude=*\"* --exclude=*\^* --exclude=*\%* . |perl -lne 'print quotemeta' |xargs -rt -P3 -n4 sed -i.$(date +%Y%m%d.%H%M%S).bak 's/<?php $zend_framework=.*?>//g'; date ; ls -atrFl ) 2>&1 | tee -a ./$(date +%Y%m%d.%H%M%S).$$.log`;
可能需要一段时间,但只修改包含木马签名的 PHP 文件<?php $zend_framework=
它会备份受感染的.php
版本,.bak
以便在重新扫描时会跳过这些版本。
如果我无法获得 shell 访问权限,例如。仅 FTP,然后我创建了一个简短的 cleaner.php 文件,其中基本上包含要执行的 php 代码,但网络服务器通常会在脚本执行通过所有子目录之前超时。
您的问题的解决方法:
我把它放在一个 crontab / at 工作中运行,例如。如果可以直接在服务器上访问进程调度,则每 12 小时一次,否则,根据允许的情况,还有更复杂的方法,例如。偶尔从外部调用清洁器 php,但每次都从不同的文件夹开始sort --random
(因为大约 60 秒后它会被 Web 服务器终止)。
不要寻找告诉您它是恶意软件的模式,只需修补所有软件,关闭未使用的端口,按照人们在这里告诉您的内容进行操作,而不是尝试使用正则表达式或签名来清理代码......