在我的Wordpress主题文件中不断发现乱七八糟的PHP

在我的Wordpress主题文件中不断发现乱七八糟的PHP,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我为一个客户的网站建立了一个自定义主题,我猜它一直被黑客攻击。我发现在每个主题文件和插件的顶部都有一堆乱七八糟的代码。它都是超级压缩的,不太容易阅读,但看起来就像一堆数字。它没有在网站上输出任何东西。我知道它正在发生的唯一原因是,在插件中添加代码会破坏插件,而WP自动禁用插件。这种情况已经发生了5到6次 第二次之后,我意识到默认设置并没有剪切它。所以我安装了WordFence,一个月来它工作得非常好。WordFence开始描绘出在任何给定时刻有多少人试图攻击一个站点。这太疯狂了。我还更改了所有密

我为一个客户的网站建立了一个自定义主题,我猜它一直被黑客攻击。我发现在每个主题文件和插件的顶部都有一堆乱七八糟的代码。它都是超级压缩的,不太容易阅读,但看起来就像一堆数字。它没有在网站上输出任何东西。我知道它正在发生的唯一原因是,在插件中添加代码会破坏插件,而WP自动禁用插件。这种情况已经发生了5到6次

第二次之后,我意识到默认设置并没有剪切它。所以我安装了WordFence,一个月来它工作得非常好。WordFence开始描绘出在任何给定时刻有多少人试图攻击一个站点。这太疯狂了。我还更改了所有密码(用户、FTP等),更改了表前缀、block wp admin,并使用了不同的URL来访问破折号,并且几乎跟踪了文章中的每一项。也听取了一些帖子的建议

尽管看起来一切都是徒劳的。经过一个月的成功,插件和我的措施停止工作。无用的字符串开始出现在主题文件的顶部。但奇怪的是,不是插件文件。我把事情弄清楚了,试着用iThemes安全套件代替WordFence。不!醒来发现网站又被黑客入侵了

除上述内容外,我还缩小了插件列表的范围,选择了少数几个在其他网站上被证明无害的插件:强大的高级自定义域。我担心我的主题搞砸了,但我已经编写了十几个代码,在这些网站上从来没有出现过这个问题

我不知如何是好。我觉得如果我了解“黑客”做了什么,我就能更好地对付它,但我不知所措。这些事情对谷歌来说非常困难。任何指导都将不胜感激


缩小范围的一种方法是打印r(我相信它的十六进制值) 从您的粘贴箱:

$\u服务器[“\x48\124\x54\120\x5f\125\x53\105\x52\137\x41\107\x45\116\x54”]

输出:

$_SERVER["HTTP_USER_AGENT"];
代码的这一小部分记录在:

用户代理的“HTTP\u USER\u AGENT”内容:来自当前 请求,如果有的话。这是一个表示用户代理的字符串 正在访问页面的。一个典型的例子是:Mozilla/4.5 [en](X11;U;Linux 2.2.9 i586)。除此之外,您还可以使用 使用get_browser()获取值,以根据 用户代理的功能

通读整个代码需要一段时间,因为一些“胡言乱语”被嵌入到其他函数中


有一点警告,我不是安全专家,也不是php向导,当测试任何代码时,请尝试在线沙盒,比如缩小范围的一种方法是打印\u r(我相信它的十六进制值) 从您的粘贴箱:

$\u服务器[“\x48\124\x54\120\x5f\125\x53\105\x52\137\x41\107\x45\116\x54”]

输出:

$_SERVER["HTTP_USER_AGENT"];
代码的这一小部分记录在:

用户代理的“HTTP\u USER\u AGENT”内容:来自当前 请求,如果有的话。这是一个表示用户代理的字符串 正在访问页面的。一个典型的例子是:Mozilla/4.5 [en](X11;U;Linux 2.2.9 i586)。除此之外,您还可以使用 使用get_browser()获取值,以根据 用户代理的功能

通读整个代码需要一段时间,因为一些“胡言乱语”被嵌入到其他函数中


有一点警告,我不是安全专家,也不是php向导,在测试任何代码时,请尝试在线沙盒,比如我曾经在服务器上发现过这个问题,我最终制作了一个bash脚本,查找该代码,只删除每个受感染的php文件的顶行。它解决了这个问题

我把它放在这里,这样你就可以用它来清除恶意代码,但记住要设法找出服务器是如何被黑客攻击的,这样你就不会再被黑客攻击了

在bash shell中使用非常简单:

测试是否有受感染的文件

./remove_malware.sh /var/www/wp_path/
./remove_malware.sh /var/www/wp_path/ clean
清除受感染的文件

./remove_malware.sh /var/www/wp_path/
./remove_malware.sh /var/www/wp_path/ clean
脚本(
删除恶意软件.sh
):

#/bin/bash
#
#此脚本将删除PHP文件的恶意软件。
#
#在这种情况下,它将删除一些恶意代码
#从位于
#每个PHP文件。
#
#每个文件顶部的字符串为:
#

#我曾经在一个服务器上发现过这个问题,我最终制作了一个bash脚本,它只从每个受感染的PHP文件中删除最上面的一行代码。它解决了这个问题

我把它放在这里,这样你就可以用它来清除恶意代码,但记住要设法找出服务器是如何被黑客攻击的,这样你就不会再被黑客攻击了

在bash shell中使用非常简单:

测试是否有受感染的文件

./remove_malware.sh /var/www/wp_path/
./remove_malware.sh /var/www/wp_path/ clean
清除受感染的文件

./remove_malware.sh /var/www/wp_path/
./remove_malware.sh /var/www/wp_path/ clean
脚本(
删除恶意软件.sh
):

#/bin/bash
#
#此脚本将删除PHP文件的恶意软件。
#
#在这种情况下,它将删除一些恶意代码
#从位于
#每个PHP文件。
#
#每个文件顶部的字符串为:
#

#很可能这是您正在使用的插件之一。抱歉,在您回复后不久添加了一个编辑。除非两个著名的插件(强大的和高级的自定义域)被破坏,否则我认为这不是问题。为了以防万一,插件列表已经被大幅削减为这两个。你使用的是什么主机?如果它是共享主机,另一个站点可能会在服务器上被黑客攻击,并随着盗版升级而影响您的网络。另外,你是否删除了所有内容并重新安装了?代码似乎是针对MSIE的某种攻击,有人非常努力地使其无法读取。啊。。。。这是字符的位变换:很可能是你正在使用的插件之一。抱歉,在你回复后不久添加了一个编辑。除非有两个著名的插件(强大的和先进的