好吧,这是一个问题:
我最近找到了一家IT公司(小企业级)的工作,他们做了一些Web开发。最初,老板有一个第三方自由开发者为一个主要客户建立一个网站。他对他的服务不满意,所以他把它交给我(管理网站,改变事物等)。我发现该网站已被列入黑名单,因为它可能被称为" StealRat Botnet"。我已经完成了一些阅读,发现它通常位于wp-content / plugins文件夹和/或php文件中,不应该存在。
在家里,我在Linux机器上,所以我能够进入服务器(也使用Filezilla for GUI)。有没有人有关于如何跟踪这些损坏的文件并摆脱这个的任何提示?我试过筛选文件,但我不知道我在寻找什么。任何帮助都表示赞赏,因为这是一个主要问题。
答案 0 :(得分:4)
大多数损坏的WordPress网站都是由于恶意主题和/或插件造成的。
尝试在wp-content / themes和wp-content /中搜索php文件中exec(base64_decode(
和eval(
(因为这些是隐藏在恶意文件中最常见的片段)的每次出现插件目录,这应该是一个好的开始。
如果您知道网站何时被感染,您还可以尝试查找在该时间内编辑或添加的文件(如果您有权访问服务器,则可以通过SSH轻松完成)
祝你好运,我最近不得不清理几个WordPress网站,这不是一个蛋糕走路。
答案 1 :(得分:4)
首先,进行备份并测试从备份操作恢复是否正常工作!!
如果这是众所周知的恶意软件,您可能需要查看恶意软件扫描程序。一个免费的开源选项是Maldet from rfxn。我没有该项目的链接,我不知道它的工作情况如何,但它可以设置为每天扫描(cron作业)并通过电子邮件发送报告,并且我认为它每天都会更新其签名。
通过禁用常规代码不应使用的功能来加强PHP安装。使用this cheat sheet让您入门。
按创建日期对文件排序可能会有所帮助。如果网站暂时没有更改,则应仔细检查最近的文件。如果您知道感染发生的时间,那么一定要使用这些信息来磨练文件。
为安全起见,您可以默认拒绝执行所有PHP文件,并且仅允许批准列表中的那些文件。 See my answer here获得灵感。要构建“好”文件的白名单,我会在auto_append_file
中启用php.ini
设置。此文件在每个脚本会话(docs)结束时运行。在文件中,您可以使用get_included_files
函数获取已执行的所有文件的列表。如果将此列表写入日志,然后浏览网站的每个未感染页面,您将获得所有合法PHP文件的列表。那是你的白名单!!获得后,使用auto_prepend_file
(也在php.ini
中设置)来阻止任何不属于该列表的PHP。下次攻击者尝试运行PHP脚本时,始终先运行的auto_prepend_file
将阻止它。
每一个软件都会增加你的攻击面,所以卸载所有未使用的插件。更新正在使用的所有内容。如果可能的话,启用自动更新(我不熟悉Wordpress,但这通常是一个安全的提示)