PHP网站源码后门通常以webshell的形式存在,攻击者通过植入恶意代码获取网站控制权,常见的后门会伪装成正常的PHP函数或者隐藏在看似无害的代码段中,排查时需要结合多种维度进行判断。

常见PHP后门的特征
了解后门的常见特征能够帮助快速缩小排查范围,以下是几类高频出现的后门特征:
- 包含
eval、assert、system、exec等可执行系统命令或动态执行代码的函数 - 使用
base64_decode、str_rot13、gzinflate等函数对恶意代码进行加密混淆 - 接收外部传入的参数直接作为代码执行或者命令执行的输入,没有做任何过滤
- 文件名伪装成系统文件,比如
wp-settings.php.bak、cache_1.php等不常见的命名 - 隐藏在图片、字体等静态资源文件的注释中,或者拼接在正常业务代码的逻辑里
手动排查技巧
1. 文件属性排查
首先可以检查网站目录下的文件修改时间,如果某个文件的修改时间远晚于网站上线时间,且不是自己更新的内容,就需要重点核查。同时排查非业务必要的文件,比如根目录下突然出现的不知名PHP文件、上传目录中可执行的PHP文件等。
2. 关键词搜索
可以使用全局搜索工具在源码目录中搜索危险函数和加密函数,快速定位可疑代码片段。以下是Linux系统下使用grep命令搜索的示例:
# 搜索包含eval函数的PHP文件
grep -r "eval(" /var/www/html --include="*.php"
# 搜索包含base64_decode函数的PHP文件
grep -r "base64_decode(" /var/www/html --include="*.php"
# 搜索接收外部参数的常见变量
grep -r "$_POST|$_GET|$_REQUEST" /var/www/html --include="*.php"
3. 代码逻辑分析
找到可疑代码后需要分析其逻辑,比如下面这段常见的后门代码:
<?php @$_="s"."y"."s"."t"."e"."m"; @$_POST['cmd']; ?>
这段代码通过拼接字符串得到system函数,然后接收POST请求中的cmd参数执行系统命令,属于典型的PHP后门,发现后需要直接删除。
工具辅助检测
手动排查适合小体量源码,如果源码文件较多,可以使用专业工具提升效率:
- 使用D盾、河马webshell查杀工具对源码目录进行全盘扫描,这类工具内置了常见的后门特征库,能够快速识别已知类型的后门
- 使用PHP代码审计工具,比如RIPS,能够分析代码的执行逻辑,发现隐藏的漏洞和后门
- 对比官方源码,如果是使用的开源CMS或者框架,可以将自己的源码和官方发布的源码做哈希对比,不一致的PHP文件重点核查
排查后的处理建议
如果发现后门,首先要立即删除后门文件,然后修改服务器和网站的所有密码,包括数据库密码、后台管理员密码、FTP密码等。同时检查服务器日志,查看攻击者是否通过后端获取了其他敏感信息,必要时可以还原到未植入后门的备份版本,再部署新的源码上线。
日常维护中尽量不要使用来路不明的PHP源码,上线前做好源码安全检测,定期备份网站数据,能够有效降低后门带来的安全风险。
PHP后门检测PHP源码审计webshell查杀安全漏洞排查修改时间:2026-06-24 21:36:30