我正在开发一个php网站,它经常被恶意软件感染。我已经完成了所有安全步骤,但都失败了。但我知道它每次都会感染我的代码。它出现在我的php索引文件的开头,如下所示。
<script>.....</script><?
有人可以帮助我如何删除服务器文件夹中每个索引文件的起始块代码?我将使用一个cron。
我已经通过了regex question for removal of javascript malware,但没找到我想要的东西。
答案 0 :(得分:1)
您应该将FTP密码更改为您的网站,并确保没有在后台运行的程序在您的服务器上打开TCP连接,从而使某些远程家伙能够更改您的站点文件。如果您使用的是Linux,请检查正在运行的进程并删除/删除所有可疑内容。
您还可以使用ROOT ...
创建所有服务器文件ReadOnly无论如何,木马/恶意软件/非授权的ftp访问是责任,而不是JavaScript。
此外,这更像是一个超级用户问题......
答案 1 :(得分:0)
客户经常打电话给我,在他们无法控制的主机服务器上对他们未备份的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 $zend_framework=
它会将受感染的.php
版本备份到.bak
,以便在重新扫描时将跳过这些版本。
如果我无法获得shell访问权限,例如。只有FTP,然后我创建一个简短的cleaner.php文件,基本上包含php to exec的代码,但是网络服务器通常在它通过所有子目录之前超时执行脚本。
解决您问题的替代方法:
我把它放在crontab / at作业中运行,例如。如果可以直接在服务器上访问进程调度,则每12小时一次,否则,根据允许的内容,还有更复杂的方法,例如。偶尔从外面调用更干净的php,但每次都通过sort --random
开始使用不同的文件夹(因为在60秒左右之后它会被Web服务器终止)。
答案 2 :(得分:0)
答案 3 :(得分:0)
不要寻找告诉你它是恶意软件的模式,只需修补所有软件,关闭未使用的端口,按照人们在这里告诉你的内容,而不是试图用正则表达式或签名来清理代码......