可恶的if(!isset($GLOBALS["\x61\156\x75\156\x61"]))恶意代码及清除办法
文 / @UTHEME
恶意代码清除教程
在我修改 WordPress 主题的时候,意外发现每个主题文件的头部都有一段类似以下代码:
if(!isset($GLOBALS["\x61\156\x75\156\x61"])){$ua=strtolower($_SERVER["\x48\124\x54\x50\x5f\125\x53\105\x52\137\x41\107\x45\116\x54"]);...
虽然我不知道这段代码有什么作用,但我的网站并没有出现任何异常,但我不能允许恶意代码破坏我的主题,所以我在 Google 上搜索并在 Stack Overflow 上找到了解决方法。
恶意代码清理方法
下面是一段 bash 脚本,将脚本放在服务器中,运行脚本./remove_malware.sh /var/www/wp_path/clean
即可清除恶意代码。
#!/bin/bash
#
#ThisscriptremovemalwareofPHPfiles.
#
if[[-z"$1"]];then
echo"Directorywheretofindisrequired."
else
grep-rnwl$1--include\*.php-e"\\\\x48\\\\124\\\\x54\\\\120\\\\x5f\\\\125\\\\x53\\\\105\\\\x52\\\\137\\\\x41\\\\107\\\\x45\\\\116\\\\x54"|whileread-rfilename;do
if[[!-z"$2"]];then
echo"Foundfile$filename.Cleaning..."
awk'BEGIN{matches=0}matches<1&&/1/{sub(/^.*<?php/,"<?php");matches++}{print$0}'$filename>$filename.purged
mv$filename$filename.bck
mv$filename.purged$filename
else
echo"Foundfile$filename."
fi
done
echo"Done."
fi
经过测试,这个脚本可能会将正常的文件误判为恶意文件。但误判的几率相对较小,为了保险起见,建议在删除文件之前先备份整个网站。
执行上面的脚本后,可能会生成一些以.bck
为后缀的备份文件。如果需要清理这些文件,运行以下命令即可。
find.-name*.bck|xargsrm-vf

相关文章
-
盘点2023年依然好用的4款WordPress轻社区主题 2023-05-29 08:00:54
-
盘点2023年最好用的三款wordpress知识库主题 2023-05-29 08:00:26
-
个人网站选择WordPress还是Typecho? 2023-05-28 23:33:13
-
wordpress建外贸B2C独立站的五大优势 2023-05-28 23:05:49
-
盘点2023年依然好用的3款wordpress文档主题 2023-05-28 23:02:19
-
盘点2023年依然好用的3款wordpress外贸网站主题 2023-05-28 22:59:41
-
盘点2023年依然好用的3款wordpress电商主题 2023-05-28 22:56:05
-
wordpress后台地址是多少(附:后台地址修改教程) 2023-05-28 22:54:15
-
盘点2023年依然好用的3款wordpress笔记主题 2023-05-28 22:51:13
-
开源wordpress主题:kratos 介绍 2023-05-28 22:47:46